1. Too complex. Lets get rid of multiple encodings/character sets and just
go with UTF-8/Unicode. If some people decide not to use VRML because it
doesn't use their favorite encoding, so be it. Assuming the VRML will be
wildly successful (we gotta assume that, right, otherwise why spend all this
time arguing about stuff?) that is a temporary problem.
2. Some parts of the proposal give duplicate information-- e.g. the MFOctet
giving the number of characters to be parsed. Nuke those, too.
3. MFOctet should just be MFString, and we'll extend MFString to handle UTF-8
encoded characters. Systems that can't deal with 8-bit data can use
uuencode/btoa/BinHex to encode the entire .wrl.
4. I'd like to see an example with the text "Hello, World" in Times-Roman 7.5
unit high characters.
5. Several of the fields that you specify as integers I think should be
floats.
I'd suggest narrowing it down to:
Text {
SFString language # default: "English" ???
MFString data # default: ""
}
FontSpecification {
MFString family
SFEnum weight # VERYLIGHT, LIGHTT, MEDIUM, DEMIBOLD, BOLD
SFEnum slant # ROMAN, ITALICS, OBLIQUE
SFFloat size
}
FormatSpec {
SFFloat width # ??What's the default??
SFFloat height # ??Default??
Issue: Is there a way of saying "As big as it needs to be??"
SFColor background # ??Default??
SFColor foreground
Issue: Is text affected by the current material? Is text lit? Can it be
textured?
SFEnum justification # FILL_LEADING, FILL_BOTH, FILL_TRAILING
}
Hello world might be:
Text {
data "Hello, World"
FontSpecification {
family "Times-Roman"
size 7
}
}
A couple more issues:
Inventor's hierarchical property model can be pretty useful in the context of
VRML. I can specify a .wrl file containing an object with pre-defined
texture coordinates but no texture image, for example, and then use that same
.wrl file over and over again, applying different textures just by doing:
Texture2 { name "texture.jpg" }
WWWInline { name "somObject.wrl" }
Should you be able to do the same sort of thing with text properties? That
might be useful if I want to use the same piece of text in several worlds,
but want each of the different worlds to use a different font family for all
of its text (e.g. my Old-West world would use "SpurFont", Star-Trek world
would specify a default of "FutureFont", etc).