Greetings. Does anyone have any thoughts on how layout schema attributes should be represented in the display list? Typically, as Bruce pointed out to me, an operator such as a parenthesis will have attributes like "stretchy=true" set from an operator dictionary by the parser. However, the user can override the default attribute settings with mark up, so there should be a mechanism for setting attributes in the display list. The parser *could* just reach into the renderer's guts and set attributes in the display list data structure. However, philosophically, I would prefer that the renderer be a black box that gets instructions from the parser exclusively through the display list. This is certainly desirable if we release the display list as an open specification, as we were discussing on Monday. Here are a couple of proposals. Note they certainly relate to our earlier discussion of how a font change mechanism might work. Proposal 1: Add an optional attribute list to each schema. Examples: (mo "(" attr="stretchy:false") (mrow (mi "x") (mo "+") (mi "y") attr="linebreak:false" ) Pros: This is probably the most intuitive place for attributes Cons: It is lots messier to parse. Proposal 2: Introduce an attribute construct Examples: (attribute "stretchy: false" (mo "(") ) (attribute "linebreak: false" (mrow (mi "x") (mo "+") (mi "y") ) ) Pros: Easy to parse, and very flexible Cons: More verbose, and it is not properly a schema like the others Let me know if you have any ideas. RobertReceived on Wednesday, 17 July 1996 14:10:07 UTC
This archive was generated by hypermail 2.4.0 : Saturday, 15 April 2023 17:19:57 UTC