- JavaScript 64.2%
- CSS 15.5%
- HTML 13.4%
- OpenSCAD 4.5%
- Shell 2.4%
| fonts | ||
| src | ||
| vendor | ||
| .gitignore | ||
| anamorphic-disc.scad | ||
| index.html | ||
| jsconfig.json | ||
| README.md | ||
| render.sh | ||
| style.css | ||
Circular Anamorphic Text Generator
A no-build, no-framework web app that turns text into circular anamorphic SVG discs.
The generator uses vendored opentype.js to read the bundled Google Fonts TTF files, converts glyphs to flattened outline paths, warps the outlines, and exports a standalone SVG made of paths.
Run
Use any static file server from this directory:
python3 -m http.server 8765
Then open:
http://127.0.0.1:8765/
Opening index.html directly from the filesystem may fail because browsers often block font fetch() calls from file:// pages.
OpenSCAD
The app has two SVG downloads:
Download SVGexports the full preview disc with background and border.Download Text SVGexports only the warped text paths for CAD import.
To make a printable extruded disc:
- Export
Download Text SVGfrom the app. - Save it next to
anamorphic-disc.scadwith the filename set insvg_file, or updatesvg_filein the SCAD file. - Set
svg_radius_unitsinanamorphic-disc.scadto the same Disc radius value used in the app. - Adjust
disc_radius_mm,base_height_mm, andtext_height_mmfor the physical model. - Render in OpenSCAD and export STL.
The SCAD template imports only the text SVG. The circular base is modeled separately with cylinder(), so the SVG should not contain the background circle or border.
For slicer coloring, export the base and text as separate STLs using render_part:
openscad -o dote-base.stl -D 'render_part="base"' anamorphic-disc.scad
openscad -o dote-text.stl -D 'render_part="text"' anamorphic-disc.scad
Load both STLs into the slicer as parts of the same object. They share the same origin and offsets, so they should align when imported together.
Assets
vendor/opentype.min.jsis vendored fromopentype.js.fonts/Arvo-Regular.ttfandfonts/Arvo-Bold.ttfare from Google Fonts.fonts/IMFeFCsc28P.ttfis IM Fell French Canon SC from Google Fonts.- Arvo is distributed under the SIL Open Font License. See
fonts/OFL.txt. - IM Fell French Canon SC is distributed under the SIL Open Font License. See
fonts/OFL-IM-Fell-French-Canon-SC.txt.