mirror of https://github.com/vitalif/openscad
#1065 The text module is no longer experimental
parent
1aef9f2758
commit
6492d25265
|
@ -18,7 +18,6 @@ Feature::list_t Feature::feature_list;
|
|||
* argument to enable the option and for saving the option value in GUI
|
||||
* context.
|
||||
*/
|
||||
const Feature Feature::ExperimentalTextModule("text", "Enable the <code>text()</code> module.");
|
||||
|
||||
Feature::Feature(const std::string &name, const std::string &description)
|
||||
: enabled(false), name(name), description(description)
|
||||
|
|
|
@ -12,8 +12,6 @@ public:
|
|||
typedef std::vector<Feature *> list_t;
|
||||
typedef list_t::iterator iterator;
|
||||
|
||||
static const Feature ExperimentalTextModule;
|
||||
|
||||
const std::string& get_name() const;
|
||||
const std::string& get_description() const;
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ using namespace boost::assign; // bring 'operator+=()' into scope
|
|||
class TextModule : public AbstractModule
|
||||
{
|
||||
public:
|
||||
TextModule() : AbstractModule(Feature::ExperimentalTextModule) { }
|
||||
TextModule() : AbstractModule() { }
|
||||
virtual AbstractNode *instantiate(const Context *ctx, const ModuleInstantiation *inst, EvalContext *evalctx) const;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use <../../ttf/marvosym-3.10/marvosym.ttf>
|
||||
use <../../ttf/liberation-2.00.1/LiberationSans-Regular.ttf>
|
||||
use <../../ttf/amiri-0.106/amiri-regular.ttf>
|
||||
use <../../../ttf/marvosym-3.10/marvosym.ttf>
|
||||
use <../../../ttf/liberation-2.00.1/LiberationSans-Regular.ttf>
|
||||
use <../../../ttf/amiri-0.106/amiri-regular.ttf>
|
||||
|
||||
// FIXME: Needs a freely distributable font that is encoded like Webdings
|
||||
// FIXME: with Microsoft/System charmap and charcodes at 0xf000. Using
|
|
@ -1,5 +1,5 @@
|
|||
use <../../ttf/amiri-0.106/amiri-regular.ttf>
|
||||
use <../../ttf/liberation-2.00.1/LiberationSans-Regular.ttf>
|
||||
use <../../../ttf/amiri-0.106/amiri-regular.ttf>
|
||||
use <../../../ttf/liberation-2.00.1/LiberationSans-Regular.ttf>
|
||||
|
||||
t1="OpenSCAD";
|
||||
t2="الخط الأميري";
|
|
@ -913,7 +913,7 @@ function(add_cmdline_test TESTCMD_BASENAME)
|
|||
if( "${match_result1}" STREQUAL "" )
|
||||
if( "${match_result2}" STREQUAL "" )
|
||||
if( "${match_result3}" STREQUAL "" )
|
||||
set(EXPERIMENTAL_OPTION "--enable=text")
|
||||
set(EXPERIMENTAL_OPTION "")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
@ -1085,8 +1085,7 @@ list(APPEND CGALPNGTEST_3D_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/inclu
|
|||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/bad-stl-pcbvicebar.scad
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/bad-stl-tardis.scad
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/bad-stl-wing.scad
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/rotate_extrude-hole.scad
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/experimental/tessellation-text-test.scad)
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/rotate_extrude-hole.scad)
|
||||
|
||||
list(APPEND CGALPNGTEST_FILES ${CGALPNGTEST_2D_FILES} ${CGALPNGTEST_3D_FILES})
|
||||
list(APPEND OPENCSGTEST_FILES ${CGALPNGTEST_FILES})
|
||||
|
@ -1095,7 +1094,6 @@ list(APPEND THROWNTOGETHERTEST_FILES ${OPENCSGTEST_FILES})
|
|||
|
||||
list(APPEND CGALSTLSANITYTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/normal-nan.scad)
|
||||
|
||||
file(GLOB EXPERIMENTAL_TEXT_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/experimental/text-*.scad)
|
||||
# Issue #899
|
||||
set_test_config(Bugs dxfpngtest_text-font-direction-tests
|
||||
cgalpngtest_text-font-direction-tests
|
||||
|
@ -1140,7 +1138,7 @@ disable_tests(
|
|||
)
|
||||
|
||||
# 2D tests
|
||||
list(APPEND FILES_2D ${FEATURES_2D_FILES} ${SCAD_DXF_FILES} ${EXAMPLE_2D_FILES} ${EXPERIMENTAL_TEXT_FILES})
|
||||
list(APPEND FILES_2D ${FEATURES_2D_FILES} ${SCAD_DXF_FILES} ${EXAMPLE_2D_FILES})
|
||||
list(APPEND ALL_2D_FILES ${FILES_2D})
|
||||
|
||||
# FIXME: This test illustrates a weakness in child() combined with modifiers.
|
||||
|
@ -1342,8 +1340,8 @@ add_cmdline_test(csgtermtest EXE ${OPENSCAD_BINPATH} ARGS -o SUFFIX term FILES
|
|||
add_cmdline_test(echotest EXE ${OPENSCAD_BINPATH} ARGS -o SUFFIX echo FILES ${ECHO_FILES})
|
||||
add_cmdline_test(dumptest EXE ${OPENSCAD_BINPATH} ARGS -o SUFFIX csg FILES ${DUMPTEST_FILES})
|
||||
add_cmdline_test(dumptest-examples EXE ${OPENSCAD_BINPATH} ARGS -o SUFFIX csg FILES ${EXAMPLE_FILES})
|
||||
add_cmdline_test(cgalpngtest EXE ${OPENSCAD_BINPATH} ARGS --enable=text --render -o SUFFIX png FILES ${CGALPNGTEST_FILES})
|
||||
add_cmdline_test(opencsgtest EXE ${OPENSCAD_BINPATH} ARGS --enable=text -o SUFFIX png FILES ${OPENCSGTEST_FILES})
|
||||
add_cmdline_test(cgalpngtest EXE ${OPENSCAD_BINPATH} ARGS --render -o SUFFIX png FILES ${CGALPNGTEST_FILES})
|
||||
add_cmdline_test(opencsgtest EXE ${OPENSCAD_BINPATH} ARGS -o SUFFIX png FILES ${OPENCSGTEST_FILES})
|
||||
add_cmdline_test(csgpngtest EXE ${PYTHON_EXECUTABLE} SCRIPT ${CMAKE_SOURCE_DIR}/export_import_pngtest.py ARGS --openscad=${OPENSCAD_BINPATH} --format=csg --render EXPECTEDDIR cgalpngtest SUFFIX png FILES ${CGALPNGTEST_FILES})
|
||||
add_cmdline_test(throwntogethertest EXE ${OPENSCAD_BINPATH} ARGS --preview=throwntogether -o SUFFIX png FILES ${THROWNTOGETHERTEST_FILES})
|
||||
# FIXME: We don't actually need to compare the output of cgalstlsanitytest
|
||||
|
@ -1364,7 +1362,7 @@ set_test_config(Bugs offpngtest_polyhedron-tests
|
|||
# No issue - this was introduced when fixing #1033
|
||||
set_test_config(Bugs stlpngtest_bad-stl-wing)
|
||||
|
||||
add_cmdline_test(monotonepngtest EXE ${OPENSCAD_BINPATH} ARGS --colorscheme=Monotone --enable=text --render -o SUFFIX png FILES ${EXPORT3D_TEST_FILES})
|
||||
add_cmdline_test(monotonepngtest EXE ${OPENSCAD_BINPATH} ARGS --colorscheme=Monotone --render -o SUFFIX png FILES ${EXPORT3D_TEST_FILES})
|
||||
add_cmdline_test(stlpngtest EXE ${PYTHON_EXECUTABLE} SCRIPT ${CMAKE_SOURCE_DIR}/export_import_pngtest.py ARGS --openscad=${OPENSCAD_BINPATH} --format=STL --render=cgal EXPECTEDDIR monotonepngtest SUFFIX png FILES ${EXPORT3D_TEST_FILES})
|
||||
add_cmdline_test(offpngtest EXE ${PYTHON_EXECUTABLE} SCRIPT ${CMAKE_SOURCE_DIR}/export_import_pngtest.py ARGS --openscad=${OPENSCAD_BINPATH} --format=OFF --render=cgal EXPECTEDDIR monotonepngtest SUFFIX png FILES ${EXPORT3D_TEST_FILES})
|
||||
add_cmdline_test(dxfpngtest EXE ${PYTHON_EXECUTABLE} SCRIPT ${CMAKE_SOURCE_DIR}/export_import_pngtest.py ARGS --openscad=${OPENSCAD_BINPATH} --format=DXF --render=cgal EXPECTEDDIR cgalpngtest SUFFIX png FILES ${FILES_2D})
|
||||
|
@ -1380,11 +1378,6 @@ add_failing_test(offfailedtest EXE ${PYTHON_EXECUTABLE} SCRIPT ${CMAKE_SOURCE_DI
|
|||
#
|
||||
# Add experimental tests
|
||||
#
|
||||
add_cmdline_test(dumptest EXE ${OPENSCAD_BINPATH} ARGS --enable=text -o SUFFIX csg FILES ${EXPERIMENTAL_TEXT_FILES})
|
||||
add_cmdline_test(cgalpngtest EXE ${OPENSCAD_BINPATH} ARGS --render --enable=text -o SUFFIX png FILES ${EXPERIMENTAL_TEXT_FILES})
|
||||
add_cmdline_test(opencsgtest EXE ${OPENSCAD_BINPATH} ARGS --enable=text -o SUFFIX png FILES ${EXPERIMENTAL_TEXT_FILES})
|
||||
add_cmdline_test(csgpngtest EXE ${PYTHON_EXECUTABLE} SCRIPT ${CMAKE_SOURCE_DIR}/export_import_pngtest.py ARGS --openscad=${OPENSCAD_BINPATH} --format=csg --render EXPECTEDDIR cgalpngtest SUFFIX png FILES ${EXPERIMENTAL_TEXT_FILES})
|
||||
add_cmdline_test(throwntogethertest EXE ${OPENSCAD_BINPATH} ARGS --preview=throwntogether --enable=text -o SUFFIX png FILES ${EXPERIMENTAL_TEXT_FILES})
|
||||
|
||||
# Tests using the actual OpenSCAD binary
|
||||
|
||||
|
|
|
@ -83,7 +83,7 @@ if inputsuffix != '.scad' and inputsuffix != '.csg':
|
|||
#
|
||||
# First run: Just export the given filetype
|
||||
#
|
||||
export_cmd = [args.openscad, inputfile, '--enable=text', '-o', exportfile] + remaining_args
|
||||
export_cmd = [args.openscad, inputfile, '-o', exportfile] + remaining_args
|
||||
print('Running OpenSCAD #1:')
|
||||
print(' '.join(export_cmd))
|
||||
result = subprocess.call(export_cmd)
|
||||
|
@ -100,7 +100,7 @@ if args.format != 'csg':
|
|||
newscadfile += '.scad'
|
||||
createImport(exportfile, newscadfile)
|
||||
|
||||
create_png_cmd = [args.openscad, newscadfile, '--enable=text', '-o', pngfile] + remaining_args
|
||||
create_png_cmd = [args.openscad, newscadfile, '-o', pngfile] + remaining_args
|
||||
print('Running OpenSCAD #2:')
|
||||
print(' '.join(create_png_cmd))
|
||||
fontdir = os.path.join(os.path.dirname(args.openscad), "..", "testdata");
|
||||
|
|
|
@ -1 +1 @@
|
|||
group1(minkowski2+glide3+subdiv4+hull5+resize6+group7+group7+group7+intersection10+group11(sphere)+union13+difference14+intersection10+linear_extrude+linear_extrude+rotate_extrude+rotate_extrude+import+import+import+import+group7+cube+sphere+cylinder+polyhedron+square+circle+polygon+projection+render33+surface+transform35+transform35+transform37+transform35+transform35+color40+offset)
|
||||
group1(minkowski2+glide3+subdiv4+hull5+resize6+group7+group7+group7+intersection10+group11(sphere)+union13+difference14+intersection10+linear_extrude+linear_extrude+rotate_extrude+rotate_extrude+import+import+import+import+group7+cube+sphere+cylinder+polyhedron+square+circle+polygon+projection+render33+surface+transform35+transform35+transform37+transform35+transform35+color40+offset+text)
|
||||
|
|
|
@ -29,7 +29,9 @@ group() {
|
|||
group() {
|
||||
group() {
|
||||
multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) {
|
||||
linear_extrude(height = 1, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 1, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "Open", size = 42, spacing = 1, font = "Liberation Serif:style=Bold", direction = "ltr", language = "en", script = "latin", halign = "left", valign = "baseline", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -42,7 +44,9 @@ group() {
|
|||
group() {
|
||||
group() {
|
||||
multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) {
|
||||
linear_extrude(height = 1, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 1, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "SCAD", size = 42, spacing = 1, font = "Liberation Serif:style=Bold", direction = "ltr", language = "en", script = "latin", halign = "left", valign = "baseline", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -55,7 +59,9 @@ group() {
|
|||
group() {
|
||||
group() {
|
||||
multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) {
|
||||
linear_extrude(height = 1, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 1, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "The Programmers", size = 18, spacing = 1, font = "Liberation Serif", direction = "ltr", language = "en", script = "latin", halign = "left", valign = "baseline", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -68,7 +74,9 @@ group() {
|
|||
group() {
|
||||
group() {
|
||||
multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) {
|
||||
linear_extrude(height = 1, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 1, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "Solid 3D CAD Modeller", size = 18, spacing = 1, font = "Liberation Serif", direction = "ltr", language = "en", script = "latin", halign = "left", valign = "baseline", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,40 +8,52 @@ group() {
|
|||
multmatrix([[1, 0, 0, 0], [0, 1, 0, -27.5], [0, 0, 1, 0], [0, 0, 0, 1]]) {
|
||||
multmatrix([[1, 0, 0, 0], [0, 0, -1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) {
|
||||
group() {
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "C", size = 50, spacing = 1, font = "Liberation Sans", direction = "ltr", language = "en", script = "latin", halign = "center", valign = "center", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
multmatrix([[1, 0, 0, 27.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
|
||||
multmatrix([[0, 0, 1, 0], [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) {
|
||||
group() {
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "U", size = 50, spacing = 1, font = "Liberation Sans", direction = "ltr", language = "en", script = "latin", halign = "center", valign = "center", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
multmatrix([[1, 0, 0, 0], [0, 1, 0, 27.5], [0, 0, 1, 0], [0, 0, 0, 1]]) {
|
||||
multmatrix([[-1, 0, 0, 0], [0, 0, 1, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) {
|
||||
group() {
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "B", size = 50, spacing = 1, font = "Liberation Sans", direction = "ltr", language = "en", script = "latin", halign = "center", valign = "center", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
multmatrix([[1, 0, 0, -27.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {
|
||||
multmatrix([[0, 0, -1, 0], [-1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 1]]) {
|
||||
group() {
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "E", size = 50, spacing = 1, font = "Liberation Sans", direction = "ltr", language = "en", script = "latin", halign = "center", valign = "center", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 27.5], [0, 0, 0, 1]]) {
|
||||
group() {
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "☺", size = 50, spacing = 1, font = "Liberation Sans", direction = "ltr", language = "en", script = "latin", halign = "center", valign = "center", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -32.5], [0, 0, 0, 1]]) {
|
||||
group() {
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2);
|
||||
linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {
|
||||
text(text = "☼", size = 50, spacing = 1, font = "Liberation Sans", direction = "ltr", language = "en", script = "latin", halign = "center", valign = "center", $fn = 16, $fa = 12, $fs = 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,4 +40,5 @@ group() {
|
|||
multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]);
|
||||
color([-1, -1, -1, 1]);
|
||||
offset(delta = 1, join_type = "miter", miter_limit = 2, $fn = 0, $fa = 12, $fs = 2);
|
||||
text(text = "", size = 10, spacing = 1, font = "", direction = "ltr", language = "en", script = "latin", halign = "left", valign = "baseline", $fn = 0, $fa = 12, $fs = 2);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue