Re: [css3-gcpm] Comments on Generated Content for Paged Media 2007-05-04

On May 8, 2007, at 7:55 AM, Håkon Wium Lie wrote:

> Also sprach Ladd Van Tol:
>> Since TeX dictionaries have no header, I'm concerned that UAs might
>> not be able to infer the hyphenation resource format in all cases. I
>> notice that Prince uses TeX-style dictionaries, but does not allow
>> for an exception table.
>
> I believe exceptions can be encoded into the TeX format. Can someone
> help me out here?

I believe that hyphenation exceptions are currently an external  
mechanism in TeX, although it's been a long time since I've used TeX.

As far as I understand hyphenation rules, there are supposed to be  
two kinds of exceptions:

1. Positive exceptions that show how to hyphenate particular words,  
ignoring the more general rules found in the pattern list (aka  
"dictionary")
2. Negative exceptions that show words that can never be hyphenated,  
generally due to having more than one proper hyphenation (dependent  
on grammatical context)

>> One question I had was about the treatment of elements within the
>> prototype container that are not prototype entry elements. Are they
>> copied for each list item?
>
> No. For example, in this example, the h2 element is only showed once.
>
>   ...
>   <style>
>   #index {
>     prototype: container }
>   #index-marker {
>     prototype-insert-position: sorted
>     prototype-insert-policy: unique;
>     text-transform: uppercase }
>   #index-entry {
>     prototype-insert-position: sorted }
>   #index-entry::after {
>     content: leader(". . ") source-counter(page) }
>   dfn.entry {
>     prototype-insert: index-marker first-letter, index-entry content }
>   </style>
>   ...
>
>   <div id="index">
>   <h2>Index</h2>
>   <div id="index-marker"></div>
>   <div id="index-entry"></div>
>   </div>
>   ...

So what happens to an ordinary element placed between the index- 
marker and the index-entry divs?

> BTW, I have changed the name of the 'make-element' to 'prototype- 
> insert'.

This seems better.

> (I'm looking for a better name for the 'prototype' property as well --
> now it looks like a shorthand propertye. Calling it
> 'prototype-container' would make sense, but I want to avoid yes/no
> values. Hmm.)

One possibility might be to call it "prototype-container" and have a  
value of "list" to indicate the list-like nature of indexes,  
glossaries, and tables of contents. This may also provide expansion  
opportunity if somebody comes up with another way to utilize  
prototype containers.

>> A few other comments:
>>
>> 	- The Glossary example should show the appropriate make-element  
>> syntax.
>
> Right. How about this example:
>
>   ...
>   <style>
>   #glossary { prototype: container }
>   #glossary-term { prototype-insert-position: sorted }
>   #glossary-definition { prototype-insert-position: current }
>   dfn { prototype-insert: glossary-term self, glossary-definition  
> attr(title) }
>
>   </style>
>   ...
>   <div id="glossary">
>   <h2>Glossary of terms</h2>
>   <dl>
>     <dt id="glossary-term">...</dt>
>     <dd id="glossary-definition">...</dd>
>   </dl>
>   </div>
>   ...
>
>   <p>The <dfn title="Leading paragraph">introduction</dfn> comes  
> first.</p>

Seems good, although this example does assume that each term is only  
defined once.

> Thanks for your (continued) review -- it's inspiring to have someone
> look into this.

No problem -- it's very interesting, and relates closely to my  
current work.

- Ladd

Received on Tuesday, 8 May 2007 23:43:54 UTC