Vlad,
This thread has raised several concerns with allowing text elements. All these concerns can be dealt with by disallowing text elements, and that sounds good to me. (As an interesting side note, PDF's Type 3 font format explicitly allows for text object within its glyphs, and I don't see any language prohibiting self-references in that area of the spec.)
Disallowing text elements will generally not curtail the font designer artistically, since as Chris has pointed out, simple graphic paths can be used to simulate text within the SVG-in-OT glyph. If the designer wants the text-within-the-glyph to be displayed in system fonts that are typically unique to a platform, well something close to that may be able to be simulated by conditionals and graphic paths, but I would not prioritize making this kind of *non*-cross-platform effect possible.
As to how we disallow text elements, some options are:
1. Simply say so in the description of the 'SVG ' table.
2. Specify something in the UA style sheet as Rob has suggested.
3. Add a new integration mode to SVG Integration (https://svgwg.org/specs/integration), say, "OpenType glyph mode" and prohibit text elements there. Modify the OFF proposal to mention OT glyph mode instead of secure animated/static mode.
The nice thing about (3) is that this sort of thing is exactly what the SVG Integration document's purpose is: defining restrictions on allowable SVG when SVG is integrated into various other non-SVG specs (in our case, OpenType). It's one central place to go to see what parts of SVG are allowed or not in various environments.
foreignObject has been brought up before, and OT glyph mode would be the place to add the prohibition on foreignObject as well - we want SVG, not objects foreign to SVG, to be used for our glyph descriptions!
I'm interested in hearing from Cameron,Chris, and others on all the above.
Thanks,
Sairus