Nice work, kovidgoyal. I didn't look too closely yet, but I think you might have replaced the LrsDrawChar class -- this class is used to control what can nest inside of other classes (following the LRS specification). As I see you found out, the LRS spec uses the word DrawChar for two different things. I think there needs to be both the DrawChar class that you wrote and the empty LrsDrawChar that is used to enforce the nesting rules from the LRS spec.
LrsDrawChar and LrsSimpleChar1 are used just to identify the different types of things so that the code can complain if you try to put a LrsDrawChar where only a LrsSimpleChar1 is allowed. I forget why, but I didn't need LrsSimpleChar2...
I should have put in some comments to explain that strange usage of the empty classes. But I didn't. Sorry.
|