Add HarfBuzz Text Shaping and Font Fallback Support (#3611)
Co-authored-by: alan wei chen <alanchenboy@gmail.com>
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
596680
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
364011,
|
||||
364011
|
||||
],
|
||||
[
|
||||
90850,
|
||||
90850
|
||||
],
|
||||
[
|
||||
1211104,
|
||||
1211104
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
5,
|
||||
690397
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
675950,
|
||||
675950
|
||||
],
|
||||
[
|
||||
97714,
|
||||
97714
|
||||
],
|
||||
[
|
||||
1302624,
|
||||
1302624
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
636079
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
488883,
|
||||
488883
|
||||
],
|
||||
[
|
||||
106570,
|
||||
106570
|
||||
],
|
||||
[
|
||||
1420704,
|
||||
1420704
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
6414
metrics/integration/data/burmese.geojson
Normal file
6505
metrics/integration/data/devanagari.geojson
Normal file
11211
metrics/integration/data/khmer.geojson
Normal file
BIN
metrics/integration/render-tests/text-font/burmese/expected1.png
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
metrics/integration/render-tests/text-font/burmese/expected2.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"version": 8,
|
||||
"metadata": {
|
||||
"test": {
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"allowed": 0.0003
|
||||
}
|
||||
},
|
||||
"center": [
|
||||
-70.752954126,
|
||||
43.39004898677380
|
||||
],
|
||||
"zoom": 11,
|
||||
"sources": {
|
||||
"geojson": {
|
||||
"type": "geojson",
|
||||
"data": "local://data/burmese.geojson"
|
||||
}
|
||||
},
|
||||
"sprite": "local://sprites/sprite",
|
||||
"glyphs": "local://glyphs/{fontstack}/{range}.pbf",
|
||||
"font-faces": {
|
||||
"Noto Sans Regular": [
|
||||
{
|
||||
"url": "local://glyphs/Noto%20Sans%20Regular/khmer.ttf",
|
||||
"unicode-range": [
|
||||
"U+1780-17FF"
|
||||
]
|
||||
},
|
||||
{
|
||||
"url": "local://glyphs/Noto%20Sans%20Regular/myanmar.ttf",
|
||||
"unicode-range": [
|
||||
"U+1000-109F",
|
||||
"U+A9E0-0xA9FF",
|
||||
"U+AA60-0xAA7F"
|
||||
]
|
||||
},
|
||||
{
|
||||
"url": "local://glyphs/Noto%20Sans%20Regular/devanagari.ttf",
|
||||
"unicode-range": [
|
||||
"U+0900-097F",
|
||||
"U+A8E0-0xA8FF"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"layers": [
|
||||
{
|
||||
"id": "background",
|
||||
"type": "background",
|
||||
"paint": {
|
||||
"background-color": "white"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "icon",
|
||||
"type": "symbol",
|
||||
"source": "geojson",
|
||||
"layout": {
|
||||
"text-field": "{name}",
|
||||
"text-font": [
|
||||
"Noto Sans Regular"
|
||||
],
|
||||
"symbol-placement": "point"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 77 KiB |
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"version": 8,
|
||||
"metadata": {
|
||||
"test": {
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"allowed": 0.0003
|
||||
}
|
||||
},
|
||||
"center": [
|
||||
-70.752954126,
|
||||
43.39004898677380
|
||||
],
|
||||
"zoom": 11,
|
||||
"sources": {
|
||||
"geojson": {
|
||||
"type": "geojson",
|
||||
"data": "local://data/devanagari.geojson"
|
||||
}
|
||||
},
|
||||
"sprite": "local://sprites/sprite",
|
||||
"glyphs": "local://glyphs/{fontstack}/{range}.pbf",
|
||||
"font-faces": {
|
||||
"Noto Sans Regular": [
|
||||
{
|
||||
"url": "local://glyphs/Noto%20Sans%20Regular/khmer.ttf",
|
||||
"unicode-range": [
|
||||
"U+1780-17FF"
|
||||
]
|
||||
},
|
||||
{
|
||||
"url": "local://glyphs/Noto%20Sans%20Regular/myanmar.ttf",
|
||||
"unicode-range": [
|
||||
"U+1000-109F",
|
||||
"U+A9E0-0xA9FF",
|
||||
"U+AA60-0xAA7F"
|
||||
]
|
||||
},
|
||||
{
|
||||
"url": "local://glyphs/Noto%20Sans%20Regular/devanagari.ttf",
|
||||
"unicode-range": [
|
||||
"U+0900-097F",
|
||||
"U+A8E0-0xA8FF"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"layers": [
|
||||
{
|
||||
"id": "background",
|
||||
"type": "background",
|
||||
"paint": {
|
||||
"background-color": "white"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "icon",
|
||||
"type": "symbol",
|
||||
"source": "geojson",
|
||||
"layout": {
|
||||
"text-field": "{name}",
|
||||
"text-font": [
|
||||
"Noto Sans Regular"
|
||||
],
|
||||
"symbol-placement": "point"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
metrics/integration/render-tests/text-font/khmer/expected1.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
metrics/integration/render-tests/text-font/khmer/expected2.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
69
metrics/integration/render-tests/text-font/khmer/style.json
Normal file
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"version": 8,
|
||||
"metadata": {
|
||||
"test": {
|
||||
"width": 512,
|
||||
"height": 512,
|
||||
"allowed": 0.0003
|
||||
}
|
||||
},
|
||||
"center": [
|
||||
-70.752954126,
|
||||
43.39004898677380
|
||||
],
|
||||
"zoom": 11,
|
||||
"sources": {
|
||||
"geojson": {
|
||||
"type": "geojson",
|
||||
"data": "local://data/khmer.geojson"
|
||||
}
|
||||
},
|
||||
"sprite": "local://sprites/sprite",
|
||||
"glyphs": "local://glyphs/{fontstack}/{range}.pbf",
|
||||
"font-faces": {
|
||||
"Noto Sans Regular": [
|
||||
{
|
||||
"url": "local://glyphs/Noto%20Sans%20Regular/khmer.ttf",
|
||||
"unicode-range": [
|
||||
"U+1780-17FF"
|
||||
]
|
||||
},
|
||||
{
|
||||
"url": "local://glyphs/Noto%20Sans%20Regular/myanmar.ttf",
|
||||
"unicode-range": [
|
||||
"U+1000-109F",
|
||||
"U+A9E0-0xA9FF",
|
||||
"U+AA60-0xAA7F"
|
||||
]
|
||||
},
|
||||
{
|
||||
"url": "local://glyphs/Noto%20Sans%20Regular/devanagari.ttf",
|
||||
"unicode-range": [
|
||||
"U+0900-097F",
|
||||
"U+A8E0-0xA8FF"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"layers": [
|
||||
{
|
||||
"id": "background",
|
||||
"type": "background",
|
||||
"paint": {
|
||||
"background-color": "white"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "icon",
|
||||
"type": "symbol",
|
||||
"source": "geojson",
|
||||
"layout": {
|
||||
"text-field": "{name}",
|
||||
"text-font": [
|
||||
"Noto Sans Regular"
|
||||
],
|
||||
"symbol-placement": "point"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
596680
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
364011,
|
||||
364011
|
||||
],
|
||||
[
|
||||
90850,
|
||||
90850
|
||||
],
|
||||
[
|
||||
1211104,
|
||||
1211104
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
5,
|
||||
690397
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
675950,
|
||||
675950
|
||||
],
|
||||
[
|
||||
97714,
|
||||
97714
|
||||
],
|
||||
[
|
||||
1302624,
|
||||
1302624
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
636079
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
488883,
|
||||
488883
|
||||
],
|
||||
[
|
||||
106570,
|
||||
106570
|
||||
],
|
||||
[
|
||||
1420704,
|
||||
1420704
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
596680
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
364011,
|
||||
364011
|
||||
],
|
||||
[
|
||||
90850,
|
||||
90850
|
||||
],
|
||||
[
|
||||
1211104,
|
||||
1211104
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
5,
|
||||
690397
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
675950,
|
||||
675950
|
||||
],
|
||||
[
|
||||
97714,
|
||||
97714
|
||||
],
|
||||
[
|
||||
1302624,
|
||||
1302624
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
636079
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
488883,
|
||||
488883
|
||||
],
|
||||
[
|
||||
106570,
|
||||
106570
|
||||
],
|
||||
[
|
||||
1420704,
|
||||
1420704
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
596680
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
364011,
|
||||
364011
|
||||
],
|
||||
[
|
||||
90850,
|
||||
90850
|
||||
],
|
||||
[
|
||||
1211104,
|
||||
1211104
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
5,
|
||||
690397
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
675950,
|
||||
675950
|
||||
],
|
||||
[
|
||||
97714,
|
||||
97714
|
||||
],
|
||||
[
|
||||
1302624,
|
||||
1302624
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
636079
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
488883,
|
||||
488883
|
||||
],
|
||||
[
|
||||
106570,
|
||||
106570
|
||||
],
|
||||
[
|
||||
1420704,
|
||||
1420704
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
596680
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
364011,
|
||||
364011
|
||||
],
|
||||
[
|
||||
90850,
|
||||
90850
|
||||
],
|
||||
[
|
||||
1211104,
|
||||
1211104
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
5,
|
||||
690397
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
675950,
|
||||
675950
|
||||
],
|
||||
[
|
||||
97714,
|
||||
97714
|
||||
],
|
||||
[
|
||||
1302624,
|
||||
1302624
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
"network": [
|
||||
[
|
||||
"probeNetwork - default - end",
|
||||
4,
|
||||
636079
|
||||
],
|
||||
[
|
||||
"probeNetwork - default - start",
|
||||
0,
|
||||
0
|
||||
]
|
||||
],
|
||||
"gfx": [
|
||||
[
|
||||
"probeGFX - default - end",
|
||||
1,
|
||||
13,
|
||||
9,
|
||||
1,
|
||||
[
|
||||
488883,
|
||||
488883
|
||||
],
|
||||
[
|
||||
106570,
|
||||
106570
|
||||
],
|
||||
[
|
||||
1420704,
|
||||
1420704
|
||||
]
|
||||
]
|
||||
]
|
||||
}
|
||||