I am interested in using Mathematica to create 3D text for printing. I stumbled upon this answer which works very well in a slightly modified form:
text3D[text_String, mult_] := ListPlot3D[
ClusteringComponents[
ImageRotate@ImagePad[ImageReflect[
ImageCrop@First@
ColorSeparate@
Rasterize@
Graphics[{Text[Style[text, Bold, 60]]}],
Left -> Right], 5, White]], Boxed -> False, Mesh -> False,
Axes -> False, DataRange -> {{0, mult}, {0, mult}}]
It seems to work well, except for one peculiar instance:
text3D["Hello",5]
text3D["I",5]
text3D["I am",5]
Something is unusual about printing just the letter "I", and I can't place my finger on it. Adding spaces around the I (" I ") does not have an effect, but printing ".I." does (although I would like to have the letter I by itself).
There are two questions:
- What is the root problem here, and how can it be solved?
- What are some other strategies for creating 3D text in an efficient manner?
text3D["I",1]
$\endgroup$ – Evan Carslake Oct 12 '16 at 0:17