mirror of
https://github.com/maplibre/martin.git
synced 2024-12-22 14:21:39 +03:00
9b112ae7b9
This implements dynamic font protobuf generation, allowing users to request font ranges on the fly, and combining them in any order, e.g. `Font1,Font2,Font3`, same as with sprites and tiles This is a first iteration, without any multithreading support. In theory, this could be done far faster by generating SDFs with multiple threads. ### Current process * during init, figure out all glyphs available in each font, and store them as a bitset * during request: * combine requested bitsets to figure out which glyph should come from which font file * load those glyphs from files (using a single instance of the freetype lib) * convert them to SDFs and package them into a protobuf --------- Co-authored-by: Lucas <zhangyijunmetro@hotmail.com>
192 lines
6.3 KiB
JSON
192 lines
6.3 KiB
JSON
{
|
|
"tiles": {
|
|
"MixPoints": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "a description from comment on table"
|
|
},
|
|
"auto_table": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "autodetect.auto_table.geom"
|
|
},
|
|
"bigint_table": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "autodetect.bigint_table.geom"
|
|
},
|
|
"function_Mixed_Name": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "a function source with MixedCase name"
|
|
},
|
|
"function_null": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_null"
|
|
},
|
|
"function_null_row": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_null_row"
|
|
},
|
|
"function_null_row2": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_null_row2"
|
|
},
|
|
"function_zoom_xy": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_zoom_xy"
|
|
},
|
|
"function_zxy": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_zxy"
|
|
},
|
|
"function_zxy2": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_zxy2"
|
|
},
|
|
"function_zxy_query": {
|
|
"content_type": "application/x-protobuf"
|
|
},
|
|
"function_zxy_query_jsonb": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_zxy_query_jsonb"
|
|
},
|
|
"function_zxy_query_test": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_zxy_query_test"
|
|
},
|
|
"function_zxy_row": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_zxy_row"
|
|
},
|
|
"function_zxy_row_key": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.function_zxy_row_key"
|
|
},
|
|
"geography-class-jpg": {
|
|
"content_type": "image/jpeg",
|
|
"name": "Geography Class",
|
|
"description": "One of the example maps that comes with TileMill - a bright & colorful world map that blends retro and high-tech with its folded paper texture and interactive flag tooltips. "
|
|
},
|
|
"geography-class-jpg-diff": {
|
|
"content_type": "image/jpeg",
|
|
"name": "Geography Class",
|
|
"description": "One of the example maps that comes with TileMill - a bright & colorful world map that blends retro and high-tech with its folded paper texture and interactive flag tooltips. "
|
|
},
|
|
"geography-class-jpg-modified": {
|
|
"content_type": "image/jpeg",
|
|
"name": "Geography Class",
|
|
"description": "A modified version of one of the example maps that comes with TileMill - a bright & colorful world map that blends retro and high-tech with its folded paper texture and interactive flag tooltips."
|
|
},
|
|
"geography-class-png": {
|
|
"content_type": "image/png",
|
|
"name": "Geography Class",
|
|
"description": "One of the example maps that comes with TileMill - a bright & colorful world map that blends retro and high-tech with its folded paper texture and interactive flag tooltips. "
|
|
},
|
|
"geography-class-png-no-bounds": {
|
|
"content_type": "image/png",
|
|
"name": "Geography Class",
|
|
"description": "One of the example maps that comes with TileMill - a bright & colorful world map that blends retro and high-tech with its folded paper texture and interactive flag tooltips. "
|
|
},
|
|
"json": {
|
|
"content_type": "application/json",
|
|
"name": "Dummy json data"
|
|
},
|
|
"png": {
|
|
"content_type": "image/png",
|
|
"name": "ne2sr"
|
|
},
|
|
"points1": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.points1.geom"
|
|
},
|
|
"points1_vw": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.points1_vw.geom"
|
|
},
|
|
"points2": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.points2.geom"
|
|
},
|
|
"points3857": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.points3857.geom"
|
|
},
|
|
"points_empty_srid": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.points_empty_srid.geom"
|
|
},
|
|
"stamen_toner__raster_CC-BY-ODbL_z3": {
|
|
"content_type": "image/png"
|
|
},
|
|
"table_source": {
|
|
"content_type": "application/x-protobuf"
|
|
},
|
|
"table_source_multiple_geom": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.table_source_multiple_geom.geom1"
|
|
},
|
|
"table_source_multiple_geom.1": {
|
|
"content_type": "application/x-protobuf",
|
|
"description": "public.table_source_multiple_geom.geom2"
|
|
},
|
|
"uncompressed_mvt": {
|
|
"content_type": "application/x-protobuf",
|
|
"name": "Major cities from Natural Earth data",
|
|
"description": "Major cities from Natural Earth data"
|
|
},
|
|
"webp": {
|
|
"content_type": "image/webp",
|
|
"name": "ne2sr"
|
|
},
|
|
"webp2": {
|
|
"content_type": "image/webp",
|
|
"name": "ne2sr"
|
|
},
|
|
"world_cities": {
|
|
"content_type": "application/x-protobuf",
|
|
"content_encoding": "gzip",
|
|
"name": "Major cities from Natural Earth data",
|
|
"description": "Major cities from Natural Earth data"
|
|
},
|
|
"world_cities_diff": {
|
|
"content_type": "application/x-protobuf",
|
|
"name": "Major cities from Natural Earth data",
|
|
"description": "Major cities from Natural Earth data"
|
|
},
|
|
"world_cities_modified": {
|
|
"content_type": "application/x-protobuf",
|
|
"content_encoding": "gzip",
|
|
"name": "Major cities from Natural Earth data",
|
|
"description": "A modified version of major cities from Natural Earth data"
|
|
},
|
|
"zoomed_world_cities": {
|
|
"content_type": "application/x-protobuf",
|
|
"content_encoding": "gzip",
|
|
"name": "Major cities from Natural Earth data",
|
|
"description": "Major cities from Natural Earth data"
|
|
}
|
|
},
|
|
"sprites": {
|
|
"src1": {
|
|
"images": [
|
|
"another_bicycle",
|
|
"bear",
|
|
"sub/circle"
|
|
]
|
|
}
|
|
},
|
|
"fonts": {
|
|
"Overpass Mono Light": {
|
|
"family": "Overpass Mono",
|
|
"style": "Light",
|
|
"glyphs": 931,
|
|
"start": 0,
|
|
"end": 64258
|
|
},
|
|
"Overpass Mono Regular": {
|
|
"family": "Overpass Mono",
|
|
"style": "Regular",
|
|
"glyphs": 931,
|
|
"start": 0,
|
|
"end": 64258
|
|
}
|
|
}
|
|
}
|