mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-16 18:15:56 +08:00
Merge branch '2.1' of https://github.com/Ultimaker/Cura into 2.1
This commit is contained in:
commit
9c9aed5442
@ -78,6 +78,8 @@ class CuraApplication(QtApplication):
|
|||||||
if not hasattr(sys, "frozen"):
|
if not hasattr(sys, "frozen"):
|
||||||
Resources.addSearchPath(os.path.join(os.path.abspath(os.path.dirname(__file__)), ".."))
|
Resources.addSearchPath(os.path.join(os.path.abspath(os.path.dirname(__file__)), ".."))
|
||||||
|
|
||||||
|
self._open_file_queue = [] #Files to open when plug-ins are loaded.
|
||||||
|
|
||||||
super().__init__(name = "cura", version = CuraVersion)
|
super().__init__(name = "cura", version = CuraVersion)
|
||||||
|
|
||||||
self.setWindowIcon(QIcon(Resources.getPath(Resources.Images, "cura-icon.png")))
|
self.setWindowIcon(QIcon(Resources.getPath(Resources.Images, "cura-icon.png")))
|
||||||
@ -148,6 +150,8 @@ class CuraApplication(QtApplication):
|
|||||||
if self.getBackend() == None:
|
if self.getBackend() == None:
|
||||||
raise RuntimeError("Could not load the backend plugin!")
|
raise RuntimeError("Could not load the backend plugin!")
|
||||||
|
|
||||||
|
self._plugins_loaded = True
|
||||||
|
|
||||||
def addCommandLineOptions(self, parser):
|
def addCommandLineOptions(self, parser):
|
||||||
super().addCommandLineOptions(parser)
|
super().addCommandLineOptions(parser)
|
||||||
parser.add_argument("file", nargs="*", help="Files to load after starting the application.")
|
parser.add_argument("file", nargs="*", help="Files to load after starting the application.")
|
||||||
@ -205,14 +209,18 @@ class CuraApplication(QtApplication):
|
|||||||
|
|
||||||
for file in self.getCommandLineOption("file", []):
|
for file in self.getCommandLineOption("file", []):
|
||||||
self._openFile(file)
|
self._openFile(file)
|
||||||
|
for file_name in self._open_file_queue: #Open all the files that were queued up while plug-ins were loading.
|
||||||
|
self._openFile(file_name)
|
||||||
|
|
||||||
self.exec_()
|
self.exec_()
|
||||||
|
|
||||||
# Handle Qt events
|
# Handle Qt events
|
||||||
def event(self, event):
|
def event(self, event):
|
||||||
if event.type() == QEvent.FileOpen:
|
if event.type() == QEvent.FileOpen:
|
||||||
Logger.log("i", "File open via Qt event: %s", event.file())
|
if self._plugins_loaded:
|
||||||
self._openFile(event.file())
|
self._openFile(event.file())
|
||||||
|
else:
|
||||||
|
self._open_file_queue.append(event.file())
|
||||||
|
|
||||||
return super().event(event)
|
return super().event(event)
|
||||||
|
|
||||||
|
@ -1305,7 +1305,7 @@
|
|||||||
"description": "Experimental feature: Make support areas smaller at the bottom than at the overhang.",
|
"description": "Experimental feature: Make support areas smaller at the bottom than at the overhang.",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"default": false,
|
"default": false,
|
||||||
"visible": false,
|
"visible": true,
|
||||||
"enabled": "support_enable"
|
"enabled": "support_enable"
|
||||||
},
|
},
|
||||||
"support_conical_angle": {
|
"support_conical_angle": {
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
{
|
{
|
||||||
"id": "ultimaker2_extended_olsson_base",
|
"id": "ultimaker2_extended_olsson_base",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"name": "Ultimaker 2 Extended with Olsson Block",
|
"name": "Ultimaker 2 Extended with Olsson Block",
|
||||||
"manufacturer": "Ultimaker",
|
"manufacturer": "Ultimaker",
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"inherits": "ultimaker2.json",
|
"inherits": "ultimaker2.json",
|
||||||
|
|
||||||
"machine_settings": {
|
"machine_settings": {
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
{
|
{
|
||||||
"id": "ultimaker2_extended_olsson",
|
"id": "ultimaker2_extended_olsson",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"name": "Ultimaker 2 Extended with Olsson Block",
|
"name": "Ultimaker 2 Extended with Olsson Block",
|
||||||
"manufacturer": "Ultimaker",
|
"manufacturer": "Ultimaker",
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"inherits": "ultimaker2_extended_olsson.json",
|
"inherits": "ultimaker2_extended_olsson.json",
|
||||||
"variant": "0.25 mm",
|
"variant": "0.25 mm",
|
||||||
"profiles_machine": "ultimaker2_olsson",
|
"profiles_machine": "ultimaker2_olsson",
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
{
|
{
|
||||||
"id": "ultimaker2_extended_olsson",
|
"id": "ultimaker2_extended_olsson",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"name": "Ultimaker 2 Extended with Olsson Block",
|
"name": "Ultimaker 2 Extended with Olsson Block",
|
||||||
"manufacturer": "Ultimaker",
|
"manufacturer": "Ultimaker",
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"inherits": "ultimaker2_extended_olsson.json",
|
"inherits": "ultimaker2_extended_olsson.json",
|
||||||
|
|
||||||
"variant": "0.4 mm",
|
"variant": "0.4 mm",
|
||||||
"profiles_machine": "ultimaker2_olsson",
|
"profiles_machine": "ultimaker2_olsson",
|
||||||
"machine_settings": {
|
"machine_settings": {
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
{
|
{
|
||||||
"id": "ultimaker2_extended_olsson",
|
"id": "ultimaker2_extended_olsson",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"name": "Ultimaker 2 Extended with Olsson Block",
|
"name": "Ultimaker 2 Extended with Olsson Block",
|
||||||
"manufacturer": "Ultimaker",
|
"manufacturer": "Ultimaker",
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"inherits": "ultimaker2_extended_olsson.json",
|
"inherits": "ultimaker2_extended_olsson.json",
|
||||||
|
|
||||||
"variant": "0.6 mm",
|
"variant": "0.6 mm",
|
||||||
"profiles_machine": "ultimaker2_olsson",
|
"profiles_machine": "ultimaker2_olsson",
|
||||||
"machine_settings": {
|
"machine_settings": {
|
||||||
|
@ -1,13 +1,15 @@
|
|||||||
{
|
{
|
||||||
"id": "ultimaker2_extended_olsson",
|
"id": "ultimaker2_extended_olsson",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"name": "Ultimaker 2 Extended with Olsson Block",
|
"name": "Ultimaker 2 Extended with Olsson Block",
|
||||||
"manufacturer": "Ultimaker",
|
"manufacturer": "Ultimaker",
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
"inherits": "ultimaker2_extended_olsson.json",
|
"inherits": "ultimaker2_extended_olsson.json",
|
||||||
|
|
||||||
"variant": "0.8 mm",
|
"variant": "0.8 mm",
|
||||||
"profiles_machine": "ultimaker2_olsson",
|
"profiles_machine": "ultimaker2_olsson",
|
||||||
"machine_settings": {
|
"machine_settings": {
|
||||||
|
@ -1,39 +1,16 @@
|
|||||||
{
|
{
|
||||||
"id": "ultimaker2_olsson_base",
|
"id": "ultimaker2_olsson_base",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"name": "Ultimaker 2 with Olsson Block",
|
"name": "Ultimaker 2 with Olsson Block",
|
||||||
"manufacturer": "Ultimaker",
|
"manufacturer": "Ultimaker",
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"inherits": "ultimaker2.json",
|
"inherits": "ultimaker2.json",
|
||||||
|
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"machine_show_variants": { "default": true },
|
"machine_show_variants": { "default": true }
|
||||||
"shell_thickness": { "default": 1.2 },
|
|
||||||
"top_bottom_thickness": { "inherit_function": "(parent_value / 3) * 2" },
|
|
||||||
"travel_compensate_overlapping_walls_enabled": { "default": true },
|
|
||||||
"skin_alternate_rotation": { "default": true },
|
|
||||||
"skin_outline_count": { "default": 2 },
|
|
||||||
"infill_sparse_density": { "default": 10 },
|
|
||||||
"infill_overlap": { "default": 14, "inherit_function": "14 if infill_sparse_density < 95 else 0" },
|
|
||||||
"infill_wipe_dist": { "default": 0.35, "inherit_function": "wall_line_width_0" },
|
|
||||||
"retraction_amount": { "default": 6 },
|
|
||||||
"retraction_min_travel": { "default": 4.5 },
|
|
||||||
"retraction_count_max": { "default": 6 },
|
|
||||||
"retraction_extrusion_window": { "default": 6.0 },
|
|
||||||
"speed_print": { "default": 50 },
|
|
||||||
"speed_wall": { "inherit_function": "parent_value / 50 * 30" },
|
|
||||||
"speed_wall_x": { "inherit_function": "speed_print / 50 * 40" },
|
|
||||||
"speed_topbottom": { "inherit_function": "parent_value / 50 * 20" },
|
|
||||||
"speed_layer_0": { "default": 20 },
|
|
||||||
"skirt_speed": { "default": 20 },
|
|
||||||
"travel_avoid_distance": { "default": 1.0 },
|
|
||||||
"coasting_enable": { "default": true },
|
|
||||||
"coasting_volume": { "default": 0.4 },
|
|
||||||
"support_angle": { "default": 50 },
|
|
||||||
"adhesion_type": { "default": "brim" }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
{
|
{
|
||||||
"id": "ultimaker2_olsson",
|
"id": "ultimaker2_olsson",
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"name": "Ultimaker 2 with Olsson Block",
|
"name": "Ultimaker 2 with Olsson Block",
|
||||||
"manufacturer": "Ultimaker",
|
"manufacturer": "Ultimaker",
|
||||||
"author": "Ultimaker",
|
"author": "Ultimaker",
|
||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"inherits": "ultimaker2_olsson.json",
|
"inherits": "ultimaker2_olsson.json",
|
||||||
|
|
||||||
"variant": "0.25 mm",
|
"variant": "0.25 mm",
|
||||||
@ -15,15 +15,6 @@
|
|||||||
"overrides": {
|
"overrides": {
|
||||||
"machine_nozzle_size": { "default": 0.25 },
|
"machine_nozzle_size": { "default": 0.25 },
|
||||||
|
|
||||||
"layer_height": { "default": 0.06 },
|
|
||||||
"layer_height_0": { "default": 0.15 },
|
|
||||||
|
|
||||||
"infill_sparse_density": { "default": 12 },
|
|
||||||
"speed_print": { "default": 30 },
|
|
||||||
"speed_wall": { "inherit_function": "parent_value / 30 * 20" },
|
|
||||||
"speed_wall_x": { "inherit_function": "speed_print / 30 * 25" },
|
|
||||||
"speed_topbottom": { "inherit_function": "parent_value / 30 * 20" },
|
|
||||||
|
|
||||||
"coasting_volume": { "default": 0.1 },
|
"coasting_volume": { "default": 0.1 },
|
||||||
"coasting_min_volume": { "default": 0.17 }
|
"coasting_min_volume": { "default": 0.17 }
|
||||||
}
|
}
|
||||||
|
@ -7,15 +7,12 @@
|
|||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"inherits": "ultimaker2_olsson.json",
|
"inherits": "ultimaker2_olsson.json",
|
||||||
|
|
||||||
"variant": "0.4 mm",
|
"variant": "0.4 mm",
|
||||||
|
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"machine_nozzle_size": { "default": 0.40 },
|
"machine_nozzle_size": { "default": 0.40 }
|
||||||
|
|
||||||
"wall_line_width_0": { "inherit_function": "parent_value * 0.875" },
|
|
||||||
"skin_line_width": { "inherit_function": "parent_value * 0.875" }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,25 +7,13 @@
|
|||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"inherits": "ultimaker2_olsson.json",
|
"inherits": "ultimaker2_olsson.json",
|
||||||
|
|
||||||
"variant": "0.6 mm",
|
"variant": "0.6 mm",
|
||||||
|
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"machine_nozzle_size": { "default": 0.60 },
|
"machine_nozzle_size": { "default": 0.60 },
|
||||||
|
|
||||||
"layer_height": { "default": 0.15 },
|
|
||||||
"layer_height_0": { "default": 0.4 },
|
|
||||||
|
|
||||||
"shell_thickness": { "default": 1.8 },
|
|
||||||
|
|
||||||
"infill_sparse_density": { "default": 15 },
|
|
||||||
"speed_print": { "default": 55 },
|
|
||||||
"speed_wall": { "inherit_function": "parent_value / 55 * 25" },
|
|
||||||
"speed_wall_x": { "inherit_function": "speed_print / 55 * 40" },
|
|
||||||
"speed_topbottom": { "inherit_function": "parent_value / 55 * 20" },
|
|
||||||
|
|
||||||
"coasting_volume": { "default": 1.36 }
|
"coasting_volume": { "default": 1.36 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,26 +7,13 @@
|
|||||||
"platform": "ultimaker2_platform.obj",
|
"platform": "ultimaker2_platform.obj",
|
||||||
"platform_texture": "Ultimaker2backplate.png",
|
"platform_texture": "Ultimaker2backplate.png",
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
"file_formats": "text/x-gcode",
|
||||||
"inherits": "ultimaker2_olsson.json",
|
"inherits": "ultimaker2_olsson.json",
|
||||||
|
|
||||||
"variant": "0.8 mm",
|
"variant": "0.8 mm",
|
||||||
|
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"machine_nozzle_size": { "default": 0.80 },
|
"machine_nozzle_size": { "default": 0.80 },
|
||||||
|
|
||||||
"layer_height": { "default": 0.2 },
|
|
||||||
"layer_height_0": { "default": 0.5 },
|
|
||||||
|
|
||||||
"shell_thickness": { "default": 2.4 },
|
|
||||||
"top_bottom_thickness": { "inherit_function": "parent_value / 2" },
|
|
||||||
|
|
||||||
"infill_sparse_density": { "default": 16 },
|
|
||||||
"speed_print": { "default": 40 },
|
|
||||||
"speed_wall": { "inherit_function": "parent_value / 40 * 20" },
|
|
||||||
"speed_wall_x": { "inherit_function": "speed_print / 40 * 30" },
|
|
||||||
"speed_topbottom": { "inherit_function": "parent_value / 40 * 20" },
|
|
||||||
|
|
||||||
"coasting_volume": { "default": 3.22 }
|
"coasting_volume": { "default": 3.22 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
BIN
resources/themes/cura/fonts/OpenSans-Bold.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-Bold.ttf
Normal file
Binary file not shown.
BIN
resources/themes/cura/fonts/OpenSans-BoldItalic.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-BoldItalic.ttf
Normal file
Binary file not shown.
BIN
resources/themes/cura/fonts/OpenSans-ExtraBold.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-ExtraBold.ttf
Normal file
Binary file not shown.
BIN
resources/themes/cura/fonts/OpenSans-ExtraBoldItalic.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-ExtraBoldItalic.ttf
Normal file
Binary file not shown.
BIN
resources/themes/cura/fonts/OpenSans-Italic.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-Italic.ttf
Normal file
Binary file not shown.
BIN
resources/themes/cura/fonts/OpenSans-Light.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-Light.ttf
Normal file
Binary file not shown.
BIN
resources/themes/cura/fonts/OpenSans-LightItalic.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-LightItalic.ttf
Normal file
Binary file not shown.
BIN
resources/themes/cura/fonts/OpenSans-Regular.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-Regular.ttf
Normal file
Binary file not shown.
BIN
resources/themes/cura/fonts/OpenSans-Semibold.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-Semibold.ttf
Normal file
Binary file not shown.
BIN
resources/themes/cura/fonts/OpenSans-SemiboldItalic.ttf
Normal file
BIN
resources/themes/cura/fonts/OpenSans-SemiboldItalic.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -3,52 +3,52 @@
|
|||||||
"large": {
|
"large": {
|
||||||
"size": 1.25,
|
"size": 1.25,
|
||||||
"bold": true,
|
"bold": true,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
"default": {
|
"default": {
|
||||||
"size": 1.15,
|
"size": 1.15,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
"default_bold": {
|
"default_bold": {
|
||||||
"size": 1.15,
|
"size": 1.15,
|
||||||
"bold": true,
|
"bold": true,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
"small": {
|
"small": {
|
||||||
"size": 1.0,
|
"size": 1.0,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
"very_small": {
|
"very_small": {
|
||||||
"size": 0.75,
|
"size": 0.75,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
"caption": {
|
"caption": {
|
||||||
"size": 1.0,
|
"size": 1.0,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
"sidebar_header": {
|
"sidebar_header": {
|
||||||
"size": 0.75,
|
"size": 0.75,
|
||||||
"capitalize": true,
|
"capitalize": true,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
"default_header": {
|
"default_header": {
|
||||||
"size": 1.0,
|
"size": 1.0,
|
||||||
"bold": true,
|
"bold": true,
|
||||||
"family": "Proxima Nova Rg",
|
"family": "Open Sans",
|
||||||
"letterSpacing": 2.0
|
"letterSpacing": 2.0
|
||||||
},
|
},
|
||||||
"button_tooltip": {
|
"button_tooltip": {
|
||||||
"size": 1.0,
|
"size": 1.0,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
"setting_category": {
|
"setting_category": {
|
||||||
"size": 1.15,
|
"size": 1.15,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
},
|
},
|
||||||
"action_button": {
|
"action_button": {
|
||||||
"size": 1.15,
|
"size": 1.15,
|
||||||
"bold": true,
|
"bold": true,
|
||||||
"family": "Proxima Nova Rg"
|
"family": "Open Sans"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user