Failing to chisel (boolean difference) text on a cube side I'm trying to create a gravestone with chiseled text on it.

I have a cube (the stone) a text for which I added some depth and bevel, and then converted to a mesh.

I positioned the text so that it's partly "inside" the cube and tried adding a boolean difference modifier on the cube (cube - text), so that the text would be chiseled in the stone.

This gets Blender crazy. Initially nothing worked. I used a decimate modifier on the text to reduce its complexity, and now A few letters are chiseled, the rest are not.

This is how things look when Both the cube (headstone) and the text (now a mesh) are visible (there's another grave base object, but we can ignore it):



The gravestone has the boolean difference modifier, and if I hide the text, this is what I see:



What can I do to make this work? I don't actually need to render this scene, I want to
convert it to an STL file and 3D print it.

More info: As stated in the comments, this is due to the text being non-manifold. Actually, it has 2000+ non-manifold edges!

If I try to remove doubles, it just deletes the entire text. No matter what the double threshold is (tried 1mm, 0.1mm, etc. - I'm working with metric units).

Any suggestions on this?

The file with the issue can be found at: this location

Another file can be found at: this location.
This time, I've used the remesh modifier, but it only worked for one text object (converted to a mesh and remeshed), not the other two. The difference between the one that works, and the others that don't is that for the first one I used Octree depth = 7, and for the other two I used Octree depth = 8 (as 7 wasn't smooth enough).
To test this, just replace the object used in the boolean modifier of the cute from 'RIP' (which works) to either 'iGoogle' or 'years', which don't work.
Try adding a remesh modifier to the text:



Then the boolean modifier will work as expected: