W3C home > Mailing lists > Public > public-tt@w3.org > January 2009

Re: proposal to replace dynamicFlow

From: Glenn A. Adams <gadams@xfsi.com>
Date: Thu, 29 Jan 2009 10:16:22 +0800
To: Geoff Freed <geoff_freed@wgbh.org>
CC: Public TTWG List <public-tt@w3.org>
Message-ID: <C5A73276.8F90%gadams@xfsi.com>

If I undersand this proposal correctly, it is equivalent to:

tts:dynamicFlow=²in(line,jump) out(line,smooth) intra(2.31)²

which says:

(1) to jump scroll in one line at a time, at a auto determined rate;
(2) to smooth scroll out one line at a time, at a rate of 2.31 lines per
second, which works out to ~0.433sec on screen time;

The way we envisioned controlling the max number of lines (or glyphs) was to
define the extent of the region in cell units in order to yield a fixed
number of rows (for a font that was sized at 1c). So, the example given
below could be expressed now as follows:

<style tts:fontSize=²1c²/>
<style tts:extent=²24c 3c²/> <!-- define size of region to be 24 cells wide,
and 3 cells (rows) high -->
<style tts:overflow=²scroll²/>
<style tts:dynamicFlow=²in(line,jump) out(line,smooth) intra(2.31)²/>

The only thing we donıt have yet is language that says that <br/> or
&#x000A; forces a line scroll in (when space is available).

So I oppose the the proposal on the basis that we can already support it
(albeit with a minor tweak regarding <br/>). It is better to handling
subsetting the usage of dynamicFlow by means of specifying mandatory
presentation features versus optional presentation features. Indeed, I have
already done just that in the new draft I am preparing which I will publish
later today, in which I had already anticipated this need, and had
accordingly defined a feature ³#dynamicFlow-teletext² that I mapped to a
specific value combination of tts:dynamicFlow that is similar to the above
(although I had defined it as ³in(glyph,jump) out(line,smooth)²). We can use
this feature definition (with any tweaks we think appropriate) to specify
what is mandatory in terms of a presentation processor implementation. Or we
can define a different combination, such as ³in(line,jump) out(line,smooth)
intra(2.31)² and call it #dynamicFlow-rollup. We could also define a new
flow function value, if we like, such as:

tts:dynamicFlow=²roll(3)² where in this case 3 would be a parameter
indicating maximum number of line areas generated at one time into the

In general, I think we really should keep dynamicFlow because we have a
formal semantics model for it that defines its timing and presentation
behavior in a way that interoperates with the timing and layout model
already defined by DFXP.

The focus of this exercise should not be on eliminating dynamicFlow, but on
defining what subset of dynamicFlow is needed for supporting roll up
semantics, and on clearly specifying that subset as a specific identifiable
feature that can be made mandatory (while other dynamicFlow parameter
combinations are made optional).

Also, regarding the proposal, I donıt understand how the proposed tts:rollUp
could be applied to body, div, or p. This style as described is a purely
region layout oriented property.


On 1/28/09 9:51 PM, "Geoff Freed" <geoff_freed@wgbh.org> wrote:

> Partly in support of Andrewıs message  at
> http://lists.w3.org/Archives/Public/public-tt/2008Dec/0137.html, partly as a
> counter-proposal to Sean's proposal at
> http://lists.w3.org/Archives/Public/public-tt/2008Dec/0142.html, and partly as
> a way to rethink the way DFXP supports pre-produced roll-up
> captions/subtitles, I submit the following proposal for the replacement of
> dynamicFlow.  This is a base proposal; I expect it to receive a severe beating
> and, I hope, many improvements while remaining as simple as possible.
> PROPOSAL:  Delete <tts:dynamicFlow> from DFXP.  Replace it with a new element,
> <tts:rollUp>, which governs only the behavior of roll-up text.  Other dynamic
> displays, such as crawls, should be defined separately.
> Here are the basic properties of <tts:rollUp>:
> 1.  Has at least two attributes:
>     -- enable, with the values "on" and "off". Initial value is "off".
>     -- depth, which specifies the maximum number of rows that are displayed at
> one time.  Values are any non-negative integer.  Initial value is "3".
> Andrew's message includes a feature which could be very useful if applied to
> <region>:  "Leverage the proposed upperThird/middleThird/lowerThird region tag
> to allow for the rollup caption area to be positioned appropriately on the
> screen. Software that converts 608/708 captions to timed text can inspect the
> line positioning and infer the appropriate screen region."  I'm not sure how
> to handle this, however.
> 2.  Can be applied to <region>, <body>, <div> or <p>.
> 3.  Has fixed timing and scrolling behavior which emulates that specified in
> EIA-608:  "... the text in the top row of the window is erased from memory and
> from the display or scrolled off the top of the window. The remaining rows of
> text are each rolled up into the next highest row in the window, leaving the
> base row blank and ready to accept new text. This roll-up must appear smooth
> to the user, and must take no more than 0.433 second to complete.²
> (excerpted from "Closed Caption Decoder Requirements for Analog Television
> Receivers"; full doc at
> http://edocket.access.gpo.gov/cfr_2005/octqtr/47cfr15.119.htm)
> 4.  A row of text does not paint horizontally or "unroll" into the region when
> it appears; it simply scrolls up in its entirety.
> 5.  The currently displayed bottom row of text need not be full in order to
> force the display to roll up.  That is, if the bottom row ends with a linefeed
> or a <br />, the next row will roll up regardless of the length of the current
> row.
> Example usage:
> <?xml version="1.0" encoding="utf-8"?>
> <tt xml:lang="en"
>     xmlns="http://www.w3.org/2006/10/ttaf1"
>     xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"
>     xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata">
>   <head>
>     <metadata> 
>       <ttm:title>Example: rollUp</ttm:title>
>       <ttm:desc>xx</ttm:desc>
>       <ttm:copyright>xx</ttm:copyright>
>     </metadata>
>     <layout>
>         <region xml:id="r1">
>             <style tts:backgroundColor="black"/>
>             <style tts:color="white"/>
>             <style tts:fontSize="14px"/>
>             <style tts:origin="0px 240px"/>
>             <style tts:extent="320px 150px"/>
>             <style tts:displayAlign="after"/>
>             <style tts:rollUp="enable(on) depth(2)"/>
>         </region>
>     </layout>
>   </head>
>   <body>
>     <div>
>           <p region="r1">
>             <span begin="00:00:01.00">How doth the little crocodile</span>
>             <span begin="00:00:03.00">Improve its shining tail;</span>
>               <span begin="00:00:05.00">And pour the waters of the Nile</span>
>               <span begin="00:00:07.00">On every golden scale!</span>
>               <span begin="00:00:09.00">How cheerfully he seems to
> grin,</span>
>               <span begin="00:00:11.00">How neatly spreads his claws,</span>
>               <span begin="00:00:13.00">And welcomes little fishes in</span>
>               <span begin="00:00:15.00">With gently smiling jaws!</span>
>               <span begin="00:00:17.00"><br /></span>
>               <span begin="00:00:19.00"><br /></span>
>           </p>
>     </div>
>   </body>
> </tt>
> g.
Received on Thursday, 29 January 2009 02:17:09 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 5 October 2017 18:24:03 UTC