Skip to content

Commit b5abd32

Browse files
committed
use the scad interface to register fonts
1 parent e042aa3 commit b5abd32

File tree

4 files changed

+8
-15
lines changed

4 files changed

+8
-15
lines changed

solid/core/scad_import.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
# = IMPORTING OPENSCAD CODE =
1010
# ===========================
1111
module_cache_by_resolved_filename = {}
12-
registered_fonts = []
1312

1413
def check_module_cache(resolved_scad, use_not_include):
1514
global module_cache_by_resolved_filename
@@ -98,14 +97,6 @@ def get_callers_namespace_dict(depth=2):
9897
return frame.f_globals
9998

10099
def use(filename):
101-
#is this a font to register?
102-
p_file = Path(filename)
103-
if p_file.suffix == ".ttf" or p_file.suffix == ".otf":
104-
global registered_fonts
105-
registered_fonts += [p_file]
106-
return
107-
108-
#otherwise load the scad file
109100
load_scad_file_or_dir_into_dict(filename, get_callers_namespace_dict(), True)
110101

111102
def include(filename):

solid/core/scad_render.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from .utils import indent
44
from .object_base import ObjectBase, OpenSCADObject
5-
from .scad_import import module_cache_by_resolved_filename, registered_fonts
5+
from .scad_import import module_cache_by_resolved_filename
66
from ..config import config
77

88
# =========================================
@@ -81,9 +81,6 @@ def get_include_string():
8181
else:
8282
strings.append(f"include <{k}>")
8383

84-
for f in registered_fonts:
85-
strings.append(f"use <{f}>")
86-
8784
s = "\n".join(strings)
8885
s += "\n\n" if s else ''
8986

solid/examples/11-fonts.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99

1010
from solid import *
1111

12-
use("11-font/RichEatin.otf")
12+
scad = ScadInterface()
13+
scad.register_font("11-font/RichEatin.otf")
1314

14-
text(font="Rich Eatin'", text="blablub").save_as_scad()
15+
t = text(font="Rich Eatin'", text="blablub")
16+
scad_render_to_file(t, scad_interface=scad)
1517

solid/extensions/scad_interface.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ def set_global_var(self, name, value):
1313
def get_header_str(self):
1414
return self.header
1515

16+
def register_font(self, filename):
17+
self.header += f'use <{filename}>\n'
18+
1619
@staticmethod
1720
def get(name):
1821
return self.inline(name)

0 commit comments

Comments
 (0)