{minutes} TTWG Meeting 2015-10-29

Minutes from today's TTWG f2f meeting in Sapporo are at http://www.w3.org/2015/10/28-tt-minutes.html


We made two resolutions:


RESOLUTION: We will move our repositories onto github

RESOLUTION: When we are on github using the PR mechanism then we auto-publish WDs to /TR every time there's a new commit on the relevant branch.

The two week review period for these resolutions under our Decision Policy ends on 12th Nov. If you have any comments or objections please raise them by that time. In the meantime we will proceed with migrating the repositories regardless.

Minutes in text format:


   [1]W3C

      [1] http://www.w3.org/


                               - DRAFT -

                Timed Text Working Group Teleconference

28 Oct 2015

   See also: [2]IRC log

      [2] http://www.w3.org/2015/10/28-tt-irc


Attendees

   Present
          olivier, andreas, akitsugu, nigel, glenn, zcorpan,
          pierre, dae, plh, jdsmith, jean-pierre_abellio

   Regrets
          david_ronca

   Chair
          nigel

   Scribe
          nigel

Contents

     * [3]Topics
         1. [4]Introductions
         2. [5]Agenda Review
         3. [6]HTMLCue proposal
         4. [7]TTML2 - Script layout, rubys etc.
         5. [8]Tools
         6. [9]TTML/WebVTT Mapping Document
         7. [10]IMSC
     * [11]Summary of Action Items
     __________________________________________________________

   <trackbot> Date: 28 October 2015

   <scribe> scribe: nigel

Introductions

   <zcorpan> Simon Pieters, Opera

   Nigel Megitt, BBC

   <olivier> Olivier Thereaux, BBC (obs)

   <glenn> Glenn Adams, Skynav

   <akitsugu> Akitsugu Baba , NHK (obs)

   <dae> Dae: Netflix

   <atai2> Andreas Tai, Institut für Rundfunktechnik

   pal: Pierre Lemieux, MovieLabs

Agenda Review

   nigel: Goes through agenda. Any proposals to change it?

   pal: What are we trying to achieve on each of these topics?

   atai2: Can we go for TTML <--> WebVTT mapping immediately after
   lunch?
   ... Also tomorrow morning before IMSC can we have a session on
   industry feedback on TTML?
   ... Apart from the mapping, are there any other topics we
   should cover re WebVTT?

   zcorpan: I thought also we should have a session on WebVTT.

   nigel: When would be a good time to do that?

   zcorpan: Maybe this afternoon. The main thing I want to talk
   about is how we publish
   ... working drafts, and having a single URL for ED and /TR WD
   snapshot.

   nigel: That fits with the tools discussion..

   zcorpan: Can we move that to today?

   nigel: I wanted plh to come along for the tools part.

HTMLCue proposal

   nigel: Introduces topic - history of this coming from Glenn and
   Erik Lindstrom of Opera.
   ... The idea being to use the timing abilities of TextTrackCue
   to do generic HTML presentation.
   ... We sent a proposal to WHATWG and in summary the response
   was that there are
   ... things that we need to think about, and possible unintended
   consequences.

   atai2: We also wanted to get developer/implementor views, which
   we did yesterday.

   nigel: Yes, yesterday I ran a breakout session on the topic,
   minutes at
   ... [12]http://www.w3.org/2015/10/28-htmlcue-minutes.html

   ... which had good attendance.

     [12] http://www.w3.org/2015/10/28-htmlcue-minutes.html


   zcorpan: There were a few misunderstandings. One was that the
   HTMLSpec had a
   ... 250ms potential delay for notifying when a cue was rendered
   in Javascript. In fact
   ... that was an unrelated event called timeUpdate. There are
   separate cue enter and
   ... cue leave that have accurate timings, so Javascript events
   aren't going to miss a cue.
   ... The other conclusion was that instead of using HTMLCue it
   is a better idea to have
   ... the js parse the cue data and then render it on top of the
   video and not have the
   ... browser do that.
   ... Going back a step, one of the reasons is that the track
   element is not capable of
   ... executing scripts currently, or of referencing external
   references from the subtitle
   ... track itself. The assumption is, like the img element,
   including a subtitle file is safe
   ... and cannot do anything. If we allow html inside a subtitle
   track it can suddenly do
   ... lots of things that could be a security or privacy problem
   or both, so it is unlikely
   ... that browser vendors are going to jump at implementing it.

   glenn: Of course we're not making the assumption that it is
   necessary to process
   ... scripts or fetch resources. It's possible to put
   restrictions on how the HTML is
   ... processed

   zcorpan: As Ted pointed out, safely subsetting HTML is
   extremely hard and it is
   ... probably a bad idea to do that - it's easier and safer to
   start from zero and add things.

   glenn: We already know about flags like sandbox flags that
   control the context.
   ... It would be one thing if we were introducing a whole new
   type of sandbox rather than
   ... using the existing mechanisms that are already implemented.
   For example, if we
   ... triggered it as a sandboxed feature, would that raise the
   same issues?

   zcorpan: The current sandbox was not designed as a be-all
   security feature, but as a
   ... defence in depth feature for when untrusted content is also
   sanitised on the server,
   ... to catch bugs. Also there is no sandbox value that does
   what we want to do. It will
   ... still fetch external resources for instance. So we still
   have the problem of defining
   ... what is the safe subset of HTML.

   atai2: I think there are 2 different views - one is on the
   feasibility of the technical solution,
   ... and the other is how to proceed. We wanted to get browser
   side perspective,
   ... but nobody stood up from the browser community to say
   possibly this is feasible
   ... instead the view was to use WebVTT with metadata payload
   and have js then
   ... render the HTML. For us it would be important to decide
   what to do. One proposal
   ... would be to follow this concept and see if that works for
   our use case.

   zcorpan: As an aside, the same technique would work for ad
   display also.

   nigel: This technique is to use a TextTrack whose kind
   attribute is metadata, then have
   ... javascript pull out the HTML data and render it on the
   onenter(). The objection I raised
   ... was that this subverts the purpose of the kind attribute
   and prevents accessible
   ... solutions from knowing that tracks are intended for display
   for accessibility.
   ... There was an action that Ted proposed to raise a feature
   request on this...

   zcorpan: Yes, I can take an action item on that, to expose the
   accessibility preferences
   ... to Javascript so that scripts can honour the user
   preference.

   <scribe> ACTION: zcorpan Raise an issue on the HTML spec to add
   an API to expose the user preference [recorded in
   [13]http://www.w3.org/2015/10/28-tt-minutes.html#action01]

   <trackbot> Created ACTION-440 - Raise an issue on the html spec
   to add an api to expose the user preference [on Simon Pieters -
   due 2015-11-05].

   <inserted> zcorpan filed the issue on html
   [14]https://github.com/whatwg/html/issues/292


     [14] https://github.com/whatwg/html/issues/292


   nigel: From an architectural perspective it still seems neater
   to me to keep TextTrack kind
   ... for its intended purpose and to use different cue types to
   express different presentation
   ... semantics - VTTCue is great for expressing how VTT cues
   should be presented
   ... but not for other types.

   zcorpan: I thought of another approach for HTML - to allow more
   than one value in the
   ... kind attribute, for example "metadata subtitles" where the
   term "metadata" just means
   ... 'not for direct rendering by the UA'.

   atai2: I think we need to decide where to take this forward.

   nigel: It feels too soon to stop this now - there's a
   suggestion from another browser manufacturer that they would be
   interested in doing some work here.

   atai2: For me the next step is to analyse further the proposal
   to use metadata in this way.

   nigel: It's worth noting that dash.js already uses this
   approach. They had to use VTTCue because it was the only text
   track cue that is implemented.

   zcorpan: It's not overloading VTTCue - it was actually designed
   to support that.

   atai2: Another part of the proposal is to use a VTT file to
   store the payload.

   zcorpan: Yes, but you don't have to use a VTT file - you can
   get the cue data from anywhere
   ... XHR, a WebSocket, or wherever. You just need a mapping
   between a cue and the payload.

   nigel: So we have one action - any others?

   atai2: It would be good to look in depth at the approach and
   see how well it works.

   zcorpan: If you have any questions on that I'd be happy to
   help.

   nigel: That feels like a mini task force to go and think about
   this and generate a small
   ... document.
   ... That's Andreas, Nigel and Simon.

   <scribe> ACTION: atai2 Kick off the analysis work on the VTTCue
   carrying HTML idea. [recorded in
   [15]http://www.w3.org/2015/10/28-tt-minutes.html#action02]

   <trackbot> Created ACTION-441 - Kick off the analysis work on
   the vttcue carrying html idea. [on Andreas Tai - due
   2015-11-05].

TTML2 - Script layout, rubys etc.

   glenn: [16]http://www.w3.org/TR/css-ruby-1/#edge-effects

   ... * ruby overhang
   ... * ruby overflow
   ... * ruby reserve
   ... * ruby offset
   ... The use case for adding ruby markup to TTML2 was to support
   the lamba cap semantics.
   ... It turns out that there are a couple of edge cases that
   were not handled by CSS.
   ... In some cases CSS discussed them. In addition the Japanese
   Language Requirements
   ... document discussed them, and in others neither of them were
   discussed. We ended
   ... up defining 5 different style properties - the 4 as listed
   above and ruby overhang class
   ... In the case at the above URL there's an example where the 6
   ruby characters take more
   ... width than the base. So you need to know how to overhang.
   In the top example
   ... white space is added around the base to make the width
   match, so there's no overhang.
   ... In the next example (example 18) the text is allowed to
   overhang adjacent base
   ... characters.
   ... CSS doesn't define a mechanism to control the behaviour of
   the rendering process
   ... Additionally there's ruby overflow, which comes up when you
   have the case of wider
   ... ruby than the base and the context is a line edge boundary.
   (Figure 19)
   ... Let's say you have a text alignment of start or left, then
   the base characters push up
   ... against the left edge. If the ruby text is wider than the
   base, and you specify a ruby
   ... alignment such as center. You can specify how the ruby box
   aligns with the base content.
   ... You can specify start, end, center, distribute space
   between, distribute space around.
   ... In this case if you want to center the ruby then you push
   the ruby box outside the line
   ... box to maintain the alignment. The base text has priority
   the text alignment. You have
   ... an over constrained environment, which causes the problem.
   There are two ways to
   ... resolve the overflow. You can relax the base text alignment
   and allow it to be pushed
   ... out away from the line edge so the ruby does not overflow.
   I call that shift base overflow.
   ... That maintains the alignment between ruby and base.
   ... The other way to do it is to keep the base alignment but
   relax the ruby alignment.
   ... I call that shift ruby. The third option I defined was
   overflow, which does not relax
   ... either constraint but allows the ruby to overflow the line
   area, in which case you have
   ... to use the tts:overflow property.

     [16] http://www.w3.org/TR/css-ruby-1/#edge-effects


   nigel: Do we need to strengthen any of the language in
   tts:overflow to cover this use
   ... case? Right now there are no 'SHALLs' in tts:overflow, only
   'SHOULD's.

   glenn: That's a good point. The question is here if you use
   overflow but the implementation
   ... is always clipping then you're going to lose that.

   nigel: Do we know why there are only SHOULDs now?

   glenn: My recollection is that we weren't sure if
   implementations could do clipping so we
   ... kept the language loose.
   ... The CSS spec says "This level of the specification does not
   provide a mechanism to control this behaviour."
   ... It turns out that this isn't sufficient for captions. We
   need a way to explicitly define this.

   atai2: So would the shift base extend the containing box?

   glenn: shift base would insert white space, i.e. padding, on
   the inside of that box to
   ... move the base content across to maintain the ruby alignment
   that has been specified.
   ... Then there's a question about where you allow overhang -
   everywhere or dependent on
   ... the base. It turns out that the JLR document defines
   classes of characters where
   ... overhang is permissible and where it is not permissible.

   <glenn>
   [17]http://www.w3.org/TR/jlreq/#adjustments_of_ruby_with_length

   _longer_than_that_of_the_base_characters

     [17] http://www.w3.org/TR/jlreq/#adjustments_of_ruby_with_length_longer_than_that_of_the_base_characters


   glenn: This shows the case when the ruby text is no larger than
   the corresponding base.
   ... So there's no problem when the ruby is less than or equal
   to the base size. You get
   ... the problem when the ruby requires more inline space than
   the base.
   ... Fig 3.79 shows this. When you do allow overhang. In one
   case a hiragana ruby is
   ... permitted to overlap a hiragana base, but not on a kanji
   base - doing the latter could
   ... be misread as the ruby applying to the kanji character.
   Hence beneath figure 3.80
   ... the points a and b describe the rules.
   ... Fig 3.81 and 3.82 show this.

   nigel: Is this based on language dependent rules or do we need
   syntax to define it?

   glenn: Ruby is primarily used in Japanese, very rarely in
   Chinese and more rarely still
   ... in Korean. Technically one could use the same layout
   features in all of those languages.
   ... It's even potentially useful in other languages that don't
   normally use ruby, like for
   ... annotations, like a scholarly piece on Greek, "interlinear
   text". To handle the
   ... Japanese use case this is documented fairly thoroughly in
   the JL Req.
   ... It describes the different character classes. Appendix A
   defines the character classes
   ... that are not defined the same way anywhere else. It's not
   in Unicode, but it is similarly
   ... represented in the ICU library.

   pal: How much are these features used in subtitles and
   captions?

   dae: They're not common but there's a good chance they're used
   at least once in a subtitle
   ... file.

   glenn: A better question would be how often does the ruby
   extend beyond the base?

   pal: So they are used!

   glenn: Yes, they are used.

   atai2: We also have the main use case that is to support
   Japanese captions and subtitles
   ... in TTML2?

   dae: Yes.

   glenn: CSS doesn't handle this yet but the idea is to create a
   CSS Ruby Level 2 spec, but
   ... nobody has done that and we have a need for it now. We'd be
   happy to submit what
   ... we have done as a point of comparison for CSS.

   atai2: That was one of my questions. And are these requirements
   implemented in other
   ... print systems?

   glenn: Yes they are. The examples in the JLReq document were
   developed extensively
   ... by people mostly in the print industry and sometimes in the
   interactive area.

   nigel: Do we need syntax for expressing every case or is there
   a rule set that we can
   ... reference?

   glenn: It needs to be author controllable. We can make the
   defaults be the most frequent
   ... case but we need to specify extensions.

   nigel: It would be simpler if we could just reference JLReq if
   that were possible.

   dae: I think it would be useful to get more industry input
   also.

   glenn: The lambda cap defaults set an expectation of how it
   should always be done,
   ... but it doesn't always work. So people end up manually
   inserting white space to subvert
   ... the defaults. For example the default for overlapping rubys
   is to overlap them, so
   ... people insert the white space to prevent the overlap.
   That's because there was no
   ... mechanism to control this behaviour in lambda cap.
   ... It had a variety of issues. They are well documented.

   atai2: So it wouldn't work with variable font sizes?

   glenn: That's right.
   ... We need a solution now to handle ruby and subtitles. These
   are corner cases and we
   ... want to choose default behaviours that cover 90% if we can.
   Here's the basic proposal:

   [18]https://docs.google.com/document/d/1W9gHl2utlmWqOIeGtQ1uhIr
   8HMYBYVUw4zA1zW-gtpc

     [18] https://docs.google.com/document/d/1W9gHl2utlmWqOIeGtQ1uhIr8HMYBYVUw4zA1zW-gtpc


   glenn: I'm planning to move these proposals into the draft
   spec.
   ... tts:rubyOverhang, with values none|allow|always|overlap,
   initial value allow.
   ... tts:rubyOverhangClass, values auto|
   (characterClassNamed|characterClass)+
   ... I enumerated the named classes as being similar to the
   JLReq document.

   nigel: Can you do it by reference?

   glenn: No, because they don't define symbols that fit our
   syntax.
   ... Then if there are unnamed character classes then they can
   be added manually.
   ... I've already implemented all of these properties in the TTV
   validator, and we're
   ... wrapping up getting the visual semantics implemented in
   TTPE. It was not complex
   ... to support the syntax.

   atai2: I would back up dae here that it would be good to get
   feedback from the Japanese
   ... caption industry. It looks good to me but could be a
   headache for presentation
   ... processors to implement.

   glenn: Not really. The mechanism is fairly straightforward,
   it's just how to parameterize
   ... it that's a bit more complex. You can look at the
   validation portion on github now.

   nigel: How do we get that feedback? Any thoughts?

   dae: Get it translated!

   glenn: There's already a Japanese translation of the JLReq
   document which has lots of
   ... examples, so simply pointing a Japanese subtitling house to
   that text would be one way.
   ... One of the reasons I'm pushing this is to see it be as
   complete as possible. This is actually
   ... a fairly minor feature. There are other aspects that are
   even more complex.

   <zcorpan> (i also filed
   [19]https://github.com/whatwg/html/issues/293 which was raised
   on the breakout session)

     [19] https://github.com/whatwg/html/issues/293


   [back from the break]

   glenn: The next case is what to do about allocating space for
   ruby.
   ... [shows example where adding ruby causes base text to be
   pushed down]
   ... Normally if there's no ruby then you don't allocate block
   progression space for ruby
   ... however that creates a disconcerting effect where the
   baseline moves around
   ... depending on whether ruby is present or not.
   ... So we had a request to keep the baseline constant
   regardless of the presence of
   ... ruby.

   pal: When would ruby come and go?

   glenn: Between captions in the same region.

   pal: Oh I see, you wouldn't want the baseline jumping around
   between captions.

   glenn: You can put rubys below and above. Authors said they
   generally only use a single
   ... approach. I came up with a property called tts:rubyReserve.
   ... [shows example where rubys appear and disappear and the
   base text stays in the
   ... same place]
   ... You can specify where to reserve the space based on the
   values. How can that be

   <scribe> ... done in CSS? Well that can't be done yet. They're
   working on a line grid spec for

   UNKNOWN_SPEAKER: maintaining baselines. It was designed to
   support some complex print requirements.
   ... They didn't have a one off property to deal with this
   problem.
   ... Here's an example of some real Japanese subtitle text, with
   a combination of
   ... horizontal and vertical, where the vertical is sheared.

   nigel: Why would they do that?
   ... (the sheared vertical text)

   glenn: They don't have an italic face but they do use shear for
   emphasis.
   ... Here's an example including sheared Roman text in a
   vertical writing mode. The two
   ... kanji characters are upright whereas the roman characters
   are sideways. But the shear
   ... transformation on the kanji is not the same as the shear
   for the roman characters.
   ... When you start combining orientation and shear you have to
   adjust the sign of the
   ... shear in the x or y axis to get desirable results.
   ... Here's another interesting effect. When the amount of text
   in the roman text does not
   ... exceed the block progression dimension of the line then you
   put it upright. This is the
   ... textCombine feature with the auto value. The shear
   transformations have to be adjusted
   ... based on their context and orientation.
   ... Here's a case where three captions have been added: a l-r
   horizontal and two
   ... vertical modes, one on the left, one on the right.
   ... And another example including text emphasis dots.

   pal: Today the way ruby is specified in TTML2 is through spans.
   So what happens if
   ... one of those documents is sent to a TTML 1 presentation
   engine?

   glenn: That's quite common as default behaviour.

   pal: I was told the default behaviour is not to do the ruby.

   glenn: It depends who you ask. Dropping the ruby is dropping
   context. Some style
   ... guides prefer not to drop content. There's no consistent
   answer.

   pal: So right now they would be displayed one after the other?

   glenn: That's right. That's the default browser behaviour right
   now when the browser
   ... does not support ruby.

   atai2: So the ruby's are displayed before the base text?

   glenn: No, after, because that's the syntax. The answer is even
   more complex.

   atai2: But the text can still be understood that way?

   glenn: Yes.
   ... Here are some combinations of ruby with different
   alignments. Group ruby that
   ... aligns multiple ruby with multiple base. Then there's ruby
   before and after which
   ... has alignment dependent on writing mode (rtl vs ltr).
   ... This is all using the TTML2 semantics.
   ... [font shearing example]
   ... [anamorphic font scaling example]
   ... [kenda or buten text emphasis above and below and in
   differenc styles.
   ... [text combination effects] using digits mode, allowing
   upright to fit digits in if there's
   ... enough space or making them sideways if not.
   ... [different alignment modes]
   ... [shearing vs orientation dependent on sideways or upright]

   nigel: Do you have an editorial task to explain the shearing
   semantics?

   glenn: I have an editorial task to elaborate that in TTML2,
   interacting with the textOrientation feature.

   [text emphasis] you need to center the alignment used for the
   dots appropriately.

   [vertical variant characters] There's a Unicode document
   explaining how to get variant

   scribe: glyphs based on the writing direction - slightly
   different shapes when in vertical

   <dae> Unicode doc is UTR 50:
   [20]http://www.unicode.org/reports/tr50/tr50-13.html


     [20] http://www.unicode.org/reports/tr50/tr50-13.html


   glenn: modes vs horizontal modes. For example the tilde ~ isn't
   just rotated, but also inverted.
   ... [text outline]
   ... [ruby overhang]
   ... [combination of textOrientation and textCombination]
   ... [arabic]
   ... [vertical variants] Kumamoji combination character ordered
   top left, top right, bottom left bottom right in horizontal.
   ... in vertical mode it's top left, bottom left, top right,
   bottom right.
   ... A font designed has to build that into the font, for
   different glyph mappings.
   ... [a bug that I haven't fixed yet, with text combination and
   shearing] The shearing on the
   ... Roman text is not consistent with the shearing on the
   Kanji.

   [pointed arabic] vowel sound marks placement is dependent on
   the base glyph

   scribe: according to the gpos tables in the font.
   ... Typically base glyphs have 5 or 6 attachment points and
   then the vowel glyphs have
   ... correspondingly labelled attachment points.
   ... This came up in IMSC because the HRM was assuming a 1:1
   mapping between
   ... characters and glyphs.
   ... [mirroring in bidi context] open parenthesis in right to
   left appear as ), i.e. the mirrored variant of (.

   nigel: Where does this hit TTML?

   glenn: What's interesting is that nowhere in CSS or XSL-FO does
   it say which features
   ... must be supported when processing bidi or vertical scripts.
   It doesn't point out that
   ... you need to select the right variant characters: it's left
   to implementations based on
   ... the fact that they'll generate bug reports if they're done
   wrong.
   ... There are some areas that are going into more detail now -
   e.g. CSS font level 3.
   ... These are all relevant implementation issues that should be
   specced out at some point,
   ... somewhere.
   ... [korean vertical and horizontal mode]
   ... [chinese]
   ... [cyrillic]
   ... This is to alert you that I'm going to add some of these
   ruby properties to TTML2.
   ... I'll be pushing the draft document linked earlier into
   TTML2.

   atai2: I have a question about where the CSS and XSL-FO gaps
   should be filled. If we solve them in TTML2
   ... and go beyond CSS then for future interoperability is that
   desirable?

   nigel: The worst thing is if they solve the same problems with
   a different semantic

   glenn: I propose that as soon as we get it into text we send a
   message to CSS WG inviting
   ... their comments.
   ... We've diverged in a number of cases from both CSS and
   XSL-FO in TTML1 already.

   atai2: A pretty big part is compatible.

   glenn: We're already syntactically non-compatible. The second
   part of semantic. We have
   ... to move ahead. Take for example disparity. We can't wait
   for CSS to come up with a
   ... solution. We also have the case that when there are
   existing models we use them, and
   ... when we need to go outside of the bounds of what is already
   out there and available
   ... then we do that, with appropriate caution and care.

   nigel: The way to head towards long term alignment is to get
   the right people together
   ... and communicate about it.

   atai2: I share the same concern, that CSS WG may come up with a
   different solution to the same problem.
   ... And the other thing is that quite a lot of use cases are
   resolved by translating TTML
   ... to HTML+CSS, so if we specify something that can't
   translate then it might cause some
   ... trouble, for internet captions for example.

   glenn: There are different approaches. One is to use lower
   level constructs, like positioning
   ... each glyph in a separate box, or using SVG to do the
   formatting.

   nigel: We also need to be aware that for accessibility purposes
   it needs to be possible
   ... to extract the basic text.

   glenn: That's maybe where you use content identification, or
   metadata.

   nigel: We don't have a way to identify accessible text in that
   way in TTML.

   glenn: We have a metadata syntax but not a vocabulary for that.

   nigel: That's kind of what I mean.

   pal: There are two options: either publish TTML2 without the
   features and ask users to
   ... work around them, or you define the features and publish
   like that.

   dae: Or maybe reduce the options.

   glenn: The function of the spec is to be complete in the
   features, and then implementations
   ... can be restricted using the profile mechanism.

   pal: So you would add all the features?

   glenn: I see all of the features we're adding as being
   reasonable. We need also to consider
   ... if they can be implemented and will be. Those are the
   questions I ask about adding
   ... features. If we're specifying a feature that nobody will
   implement it isn't reasonable to do that.
   ... I've only written things that pass both tests - they are
   specifiable and implementable.
   ... For most of these cases we already have one implementation
   and I'll soon be able
   ... to demonstrate the presentation.
   ... I just want to make one more point about diverging from
   CSS. In TTMl1 we have
   ... the two part font specification. Very few implementations
   actually support it. It turned
   ... out that it was an essential feature for supporting lambda
   cap in TTML2, where there
   ... are lots of use cases for it. That's a divergence from CSS.
   We pointed out that divergence
   ... and got comments from them and nobody said we can't do it,
   just that it was different.

   nigel: The thing we need to capture here is that we need to be
   able to derive a plain
   ... text version of the text regardless of the syntax needed
   for complex presentation.

   glenn: That's not a barrier to adding ruby to the spec.

   nigel: No, I wouldn't pull the ruby work because of it, but we
   should add the ability.

   atai2: That's why it's important to get industry feedback.

   glenn: I was mentioning a minute ago the "delimiter".

   <scribe> ACTION: nigel Add an issue to TTML2 for ensuring plain
   text accessibility [recorded in
   [21]http://www.w3.org/2015/10/28-tt-minutes.html#action03]

   <trackbot> Created ACTION-442 - Add an issue to ttml2 for
   ensuring plain text accessibility [on Nigel Megitt - due
   2015-11-05].

   glenn: [draws example on whiteboard of ruby in HTML5 style
   syntax]
   ... Showing fallback behaviour using <rp> element to
   parenthesise ruby for implementations
   ... that don't support ruby, that are discarded by those that
   do support ruby.

   <dae> [22]http://www.w3.org/TR/ruby/#rp


     [22] http://www.w3.org/TR/ruby/#rp


   glenn: There's a one to one mapping between the HTML5 ruby
   elements and the TTML2
   ... syntax to allow the fallback case.
   ... A TTML1 implementation would behave like a processor that
   doesn't understand ruby,
   ... because it would ignore the ruby attributes. A TTML2
   implementation would process
   ... it like one that does understand ruby. I'm not sure what a
   naive text to speech processor
   ... would do - it might do the same as a TTML1 processor.

   nigel: I'm checking if we have a role in the RoleRegistry for
   pronunciation... no we don't.

   akitsugu: This ruby feature is very interesting and convenient.
   In Japan we implemented
   ... ARIB-TT based on TTML, that also has a ruby function.
   ARIB-TT document is parsed
   ... and presented by receivers. Broadcasters have specified
   detailed requirements for
   ... subtitle presentation. It is very complicated to
   standardise and implement. So we
   ... decided that the function of ruby, by referencing the
   xml:id of the target element
   ... broadcasters will write TTML with position and size of each
   ruby independent of the
   ... base character. That is the Japanese situation.

   glenn: When I specified the TTML2 ruby feature set I carefully
   reviewed the ARIB-TT
   ... extensions and decided that TTML2 should support all of the
   semantics of the ARIB-TT
   ... extensions but I also decided not to adopt the semantics. I
   understand that ARIB did
   ... that in a way that would be compatible and would fit into
   the facilities of TTML1. Since
   ... in TTML2 we can include new syntax and facilities it made
   new possibilities that we
   ... could adopt. For example ARIB uses an id to link the base
   with the ruby. In this case
   ... what we ended up with in TTML2 is a model that's more
   closely aligned with HTML5
   ... by putting the base and the text in close proximity and
   have the structure of the markup
   ... dictate the binding and association. My conclusion is: 1)
   all of the semantics and
   ... meaning of the ARIB extensions can be used but with a
   different syntax.

   pal: Have you documented the translation?

   glenn: I have not: I think it would be appropriate to define
   the mappings, and would
   ... help both in communicating and understanding by the ARIB
   community. There is not
   ... a consistent view of how to treat Ruby in Japan. You get
   different answers depending
   ... on which community you ask. We should not do as
   non-Japanese is to make the
   ... mistake of thinking that there is only a single way of
   supporting Ruby.
   ... Also ruby as a phenomenon is used in other scripts. We have
   more corner cases to
   ... consider than just Japanese broadcast. We have a liaison
   with ARIB?

   nigel: Yes, with Mr. Takechi.

   glenn: What would be appropriate is to prepare a small document
   like Pierre suggested
   ... explaining how we matched the ARIB extension features into
   TTML2 and send it to
   ... our liaison requeting comments.

   <scribe> ACTION: glenn Prepare a document showing mapping ARIB
   ruby extension features to TTML2 for use as a liaison document
   to ARIB. [recorded in
   [23]http://www.w3.org/2015/10/28-tt-minutes.html#action04]

   <trackbot> 'glenn' is an ambiguous username. Please try a
   different identifier, such as family name or username (e.g.,
   gadams, ggoldste).

   <scribe> ACTION: gadams Prepare a document showing mapping ARIB
   ruby extension features to TTML2 for use as a liaison document
   to ARIB. [recorded in
   [24]http://www.w3.org/2015/10/28-tt-minutes.html#action05]

   <trackbot> Created ACTION-443 - Prepare a document showing
   mapping arib ruby extension features to ttml2 for use as a
   liaison document to arib. [on Glenn Adams - due 2015-11-05].

   <dae> dae: is TTML2 planning on supporting tatechuyoko and
   kumimoji

   glenn: Kumimoji is strictly a font issue.
   ... If you're asking if it's possible to create kumimoji on the
   fly then we have received
   ... no requests for that.

   dae: So tts:textCombine is how we author tatechuyoko?

   glenn: Yes, that's how we do it.

   nigel: [adjourn for lunch - back at 1315]
   ... [restart]

Tools

   nigel: The basic proposal is to move away from Tracker and
   Mercurial onto github for tracking issues and for managing
   versions.
   ... There's no plan to change the basic processes of the group,
   the need to review etc.

   plh: The working flow I like is where you have a github
   repository where anyone can
   ... propose a pull request (PR), the group reviews and when the
   editor merges the PR
   ... it gets automatically published. You need to trust that the
   Editor doesn't push anything
   ... that would annoy the working group. In terms of dealing
   with issues, in today's world
   ... people use lots of different mechanisms for communication.
   If you try to find one
   ... communication tool then you'll never find it. All of the
   options have pros and cons.
   ... In Web Performance we use github. The mailing list is
   pretty much empty. Everything
   ... is discussed on github. Then it's easier to track, rather
   than looking at an email thread
   ... from 2 years ago. In the past we used to use the mailing
   list and did a bad job
   ... tracking issues.
   ... github does not have a way by default to address action
   items, but we assign
   ... issues to track it. It's not perfect. We don't give action
   items in web performance. We
   ... are productive, and life is simple for us at the moment.
   ... It works well because it's a small group and the Process
   doesn't get in the way.

   zcorpan: About the process, I think a good model that's used
   for the HTML spec for example
   ... is that all changes to through a PR. You don't merge into
   master until it has been
   ... reviewed. The state of the master should never be in a
   broken state.

   plh: I meant that. Sometimes you ask for a +1 etc.

   zcorpan: It means that just because it's an ED published on /TR
   doesn't mean that
   ... it's ever in a broken state.

   plh: When we push into a draft we're sure that it's what we
   want.

   atai2: So the PR comes from a branch that's not on github?

   plh: Look at [25]http://www.w3.org/TR/performance-timeline-2/

   ... The date is yesterday - it's an official WD from W3C.
   ... The latest ED will be pretty much the same..

     [25] http://www.w3.org/TR/performance-timeline-2/


   zcorpan: The process for an external contributor is the normal
   github PR. They fork
   ... the repo, make the change, submit a PR to upstream. The
   only difference for me as
   ... an editor is that my branch is in the same repo.

   nigel: What if an external contributor makes a PR and we accept
   it - what about IPR?

   plh: That's the same as today with contributions via email -
   it's a chair training issue!

   nigel: That's for me to deal with then!

   plh: Looking back at
   [26]https://github.com/w3c/performance-timeline/
   ... We have one repo per specification, which is my
   recommendation. It's easier for
   ... people to track one document.

     [26] https://github.com/w3c/performance-timeline/


   zcorpan: It's easier with issues too.

   nigel: There's a tool for tracking contributions?

   plh: We have a tool for it. It's relatively crude.

   <plh> [27]https://labs.w3.org/hatchery/ash-nazg/


     [27] https://labs.w3.org/hatchery/ash-nazg/


   nigel: How does it match a github user name with a member?

   plh: That tool has a way to link github accounts with w3c
   accounts.
   ... [demonstrates how the PR process works]

   pal: The EME guys decided not to adopt this. Do you know why?

   plh: I don't know why.

   atai2: So can you see the as-rendered HTML version
   incorporating the PR?

   plh: Yes, using rawgit.com you can see the actual document.

   zcorpan: It's not a link you can click on but there's a simple
   transformation you can apply to a link.

   glenn: You have to use labels on the issues to track state.
   There's no state.

   plh: There are two states, Open and Closed.

   glenn: You can attach labels to each issue. In some ways it's
   more flexible.
   ... I have no objection to moving to github.

   pal: There's something about squashing commits.

   zcorpan: That's for cleaning the history. If you have a PR and
   you merge the change,
   ... it probably consists of one commit. Then if you get
   comments then you can fix it
   ... with a new commit on the same PR. Then if you merge it then
   you get two commits
   ... on the master. What you want is one commit without the
   little adjustments.
   ... Then you get a cleaner history. You can change the message
   when you squash the commits.

   PROPOSAL: Move to github.

   plh: You need to think about who can merge the PRs. Just the
   Editor?

   glenn: I propose that the Editor(s) of the document merge the
   PRs and coordinate between themselves.

   nigel: Does raising a PR create a notification?

   plh: You can set up your github account to notify you.

   zcorpan: It would be useful if everyone in the group clicked
   Watch on the repo. Then they will get the notifications.

   nigel: How do we know what's reasonable in terms of review time
   for example?
   ... I think if people don't Watch then they shouldn't expect to
   be told about PRs to review.

   plh: You have weekly telecons so you can discuss it there. Or
   editors can accept non-controversial changes.

   zcorpan: For typo fixes the editor can just commit to master
   without a PR, if it doesn't need discussion.
   ... For an external contribution, then the Editor can merge
   directly without consulting the group.
   ... We leave it up to the Editor to make the judgement call for
   if a PR needs group review.
   ... If so then we should allow a week or whatever.

   nigel: The unstated thing here is that we would also link the
   ED to echidna to auto-publish
   ... to /TR. Right now publishing to /TR is subject of a group
   review. This way if only the
   ... Editor chooses what is significant that has kind of taken
   something away from the group.
   ... So I think anyone should be able to put their hand up and
   say that they want a bigger review.

   pal: I think the risk is that people get snowed under by emails
   from github.

   zcorpan: We can have a rule that if the Editor notices that a
   change is significant then
   ... they email the reflector to say this PR (linked) is a major
   change.

   plh: That's the safest way to start, then if you get more
   confident then you can change
   ... away from that if you want to.

   zcorpan: The WebVTT spec currently generates an email to the
   mailing list for new PRs, new issues and closed issues with a
   script from Dominique.
   ... We can use that for everything.

   pal: +1

   zcorpan: It still notifies re minor PRs but that's fine.

   pal: So the general rule is that when you see an open PR on the
   mailing list that you care about then you should subscribe.

   zcorpan: Yes. You can subscribe to specific PRs too without
   subscribing to the entire repo.

   atai2: I have a question regarding subsequent PRs. If you're
   editing a draft and there are
   ... several PRs, and only a subset are accepted, does it give
   you problems with merging?

   zcorpan: You mean if there are conflicts?

   atai2: Yes.

   zcorpan: It doesn't cause any issues with other groups. If you
   have 2 PRs that change the
   ... same thing then you need to resolve the conflict. The
   editor needs to do that.

   nigel: Is that when people get asked to rebase?

   zcorpan: I think the Editor should rebase rather than asking
   the contributor to rebase.
   ... It's too hard for contributors because the order of merging
   matters.
   ... And only the Editor knows that.

   pal: Keep your PRs small, right?!

   zcorpan: yes.
   ... The healthiest state is to have zero open PRs but many
   issues.

   pal: Yes.

   plh: Creating a PR is cheap.

   nigel: Moving on to tracker and the issues.
   ... but first, can staff help copy the existing Hg repo into
   github?

   plh: Yes, I can help that.

   glenn: Keep in mind that we may want to create multiple repos
   in github.

   plh: Ah, yes.
   ... I can talk to the editors about that implementation detail.

   pal: Tracker: I propose that we agree not to add to tracker on
   some fixed date. Then
   ... every time there's an update to an issue the Editor creates
   an issue on github and then
   ... links back to it.

   zcorpan: You don't need to create an issue on github - you can
   point to a tracker issue from the PR.

   glenn: It would be better for history to put a link in there.

   pal: I want a really simple rule that is that only the Editor
   touches tracker.

   nigel: We have a pressing issue, which is to get notifications
   on changes to issues.

   zcorpan: If you point to a tracker issue from a PR then you can
   discuss the issue in the PR
   ... without needing to create a github issue.

   nigel: Logically you might want to create more than one PR for
   a single issue. Then the best place to compare them is in the
   issue.

   zcorpan: Issues are very similar to PRs. In practice it's not a
   problem.

   plh: I can look into writing a script to create issues from the
   existing tracker issues.

   <scribe> ACTION: plh Look at writing a script to create github
   issues from tracker issues. [recorded in
   [28]http://www.w3.org/2015/10/28-tt-minutes.html#action06]

   <trackbot> Created ACTION-444 - Look at writing a script to
   create github issues from tracker issues. [on Philippe Le
   Hégaret - due 2015-11-05].

   nigel: Then there are actions - I propose to create a label for
   actions and use issues for them.

   zcorpan: You could have an irc bot to create issues with the
   action label.

   plh: I'm not so sure about doing that.

   RESOLUTION: We will move our repositories onto github

   PROPOSAL: When we are on github using the PR mechanism then we
   auto-publish to /TR every time there's a new ED.

   plh: The way this works is you tell the tool where the working
   draft is and it publishes it.
   ... You need a manifest file - it fetches that, slurps
   everything and publishes it.
   ... The difficulty is to create the WD to publish.

   glenn: Why is that difficult?

   plh: How do you create your drafts?

   glenn: We use ant to generate the HTML.

   plh: I don't know how to integrate ant with Travis.
   ... The way it would work is that there would be a specific
   branch that Travis would watch.
   ... Keep using ant. When you have a version that's ready you
   push to that branch and
   ... Travis will fetch it and publish it.
   ... What do you use pierre?

   pal: Respec.

   plh: That's the easiest case - I can set it up for you in 2
   minutes.
   ... But you can't use auto-publish when you're in CR. You have
   to manually publish.

   pal: The problem is that people don't look at the latest
   version, just the most recent
   ... published one.

   plh: My opinion is that you don't move to CR until you're ready
   to move to Rec because
   ... maintaining several documents is a pain. It minimises cost.
   Stay in WD and then
   ... when you're ready to move to Rec ask the Director for a 4
   week CR when you have
   ... the tests and implementations ready.

   pal: The only drawback is the difficulty of persuading people
   to implement a WD.

   plh: That is the drawback.
   ... By August 1st 2016 the tool will support all the types of
   publishing. Publishing a CR
   ... requires Director approval. If you assert that a change is
   non-substantive then it can
   ... just go through. The bar for what is substantive is
   relatively low.

   RESOLUTION: When we are on github using the PR mechanism then
   we auto-publish WDs to /TR every time there's a new commit on
   the relevant branch.

TTML/WebVTT Mapping Document

   atai2: We decided in Las Vegas to go ahead with the draft
   mapping document.
   ... Our goal was to have something ready to discuss at this
   meeting. Thanks to Courtney
   ... Kennedy, Loretta Guarino Reid and me we did this. We met
   once and had some calls
   ... and emails to sync on the draft. Then we published it to
   the group for review a month or so ago.
   ... From the context I think we should say that there will be a
   change to the editorial team.

   nigel: Yes, Courtney is leaving Apple at the end of this week
   so she has to step down as
   ... Editor of WebVTT and this mapping document.

   atai2: So I'll stay as editor with Loretta's support. We have
   to see if someone else can
   ... also step in.
   ... I'll introduce the concept and structure of the document
   and an implementation
   ... and then we can look at first thoughts and issues raised so
   far.
   ... [Slide showing structure]. First, an overview of the main
   concepts of TTML and WebVTT.
   ... including layout, styling and timing. We expect that either
   one or both formats is not
   ... well known to readers of the spec, document authors or
   implementors.
   ... Then we include TTML to WebVTT mapping. We tried to
   partition the complexity.
   ... Instead of describing the mapping of all possible TTML
   documents, we mapped to
   ... an intermediate document type that makes the mapping much
   easier. We call
   ... the intermediate type TVTT.
   ... Then there's the WebVTT to TTML mapping part. The
   capabilities of WebVTT are more
   ... restricted so that's a shorter part.
   ... [TTML -> WebVTT]
   ... The first approach was to think how to map all TTML
   documents to WebVTT. We
   ... decided to start with a constrained profile. In Las Vegas
   we thought of using IMSC
   ... because it has a similar purpose. A lot of the features
   used for archiving and in the
   ... broadcast world are not there so it is easier to map.
   ... In the discussion it came out that in operation a lot of
   documents are not yet IMSC
   ... compliant so the scope needs to be wider. To ease the
   mapping process we thought
   ... about which kinds of TTML are closer to the WebVTT
   structure. So we created a TVTT
   ... intermediate type that is easier to map to WebVTT. This
   also has a didactic purpose to
   ... show that some of the concepts are the same in both formats
   and if you start from
   ... scratch with authoring TTML you might start already with
   something that's easy to map.
   ... [Constraints of TVTT] The constraints are in:
   ... * Timing - must be like WebVTT time expressions, not using
   frames or metrics.
   ... * Reference stylings only, no inline styling.
   ... * Some structures have no corresponding concept in WebVTT,
   like the div element.
   ... It's impossible to map nesting div elements to WebVTT.
   ... * Length metrics must be relative % metrics not pixels or
   cells.
   ... It's important that the constraint just applies to the
   intermediate step. The goal is
   ... still to be able to map from any TTML document.

   pal: But this is not a constraint of TVTT, just of the mapping
   that is in the document?
   ... The mapping specified in the document does not specify
   mapping that includes cell units for instance.

   atai2: The mapping document does describe the strategy for
   going from cell units etc.
   ... It means you stay in the TTML world until the last step to
   convert to WebVTT. There's
   ... no extra document type.

   zcorpan: You're saying there's a TTML -> TTML -> WebVTT two
   step process?

   atai2: Exactly. It's easier to explain this way.
   ... If you want to start with something similar to TVTT then
   that's fine too.

   glenn: Does the transformation to TVTT involve flattening the
   timing hierarchy?

   atai2: Yes.

   glenn: The ISD mechanism is quite similar and there's already
   an implementation. It does
   ... not normalise times and positions yet.

   atai2: There's more to be done. We decided against using ISD
   because it is not a valid TTML document.

   glenn: It is in TTML2.

   atai2: I know. We thought about that but decided this approach
   would be easier.
   ... Courtney spent a lot of time describing the flattening of
   the timing. This is also
   ... useful for IMSC.

   glenn: One thing that would be useful would be run through some
   timing flattening
   ... scenarios to verify that the algorithm that Courtney came
   up with is consistent with
   ... the normative ISD model.

   nigel: Just for clarity ISD is not normative in TTML1.

   glenn: From a syntactic point of view it is not but
   semantically it is.

   atai2: [Still to be decided/added]: display align, writing
   direction, unicode bidi.
   ... This was quite hard so we decided to leave writing mode and
   bidi out for the time being.
   ... We did not add a strategy for display align yet.

   nigel: Is there a reason why it would be difficult?

   zcorpan: I'm not sure about regions yet.

   atai2: There's a parameter for it in WebVTT but if you do not
   use regions you can align
   ... the top left of the cue point but not the bottom, relative
   to the viewport.

   zcorpan: Is this vertical alignment?

   atai2: yes, and I think you can apply it to line.

   zcorpan: i'll have to check it.

   atai2: It's something we just missed. It makes it more
   difficult also to map writingMode
   ... and textAlign.
   ... [Proposed next Steps]
   ... * Further review
   ... * Fix errors + small edits
   ... * Add informative notes for clarification
   ... * Proof of mapping by doing it.
   ... It would be good to get more feedback and fix the errors
   that we've found. Pierre
   ... has already found some. Most important would be to prove
   that the mapping is correct
   ... by running through some examples and seeing if it works
   out.
   ... I have an example where some of the concepts don't work yet
   in browsers or we
   ... missed some parts. I did this based on some samples that
   IRT published on github.

   <zcorpan>
   [29]https://w3c.github.io/webvtt/#webvtt-line-cue-setting

   line:100%,end

     [29] https://w3c.github.io/webvtt/#webvtt-line-cue-setting


   zcorpan: The line thing does have a second parameter - see
   above. This would align

   <atai2>
   [30]https://github.com/IRT-Open-Source/irt-ebu-tt-d-application

   -samples

     [30] https://github.com/IRT-Open-Source/irt-ebu-tt-d-application-samples


   zcorpan: the bottom of the cue with the bottom of the viewport.

   atai2: We tested some samples created for testing EBU-TT-D for
   rendering on TV sets.
   ... [ An EBU-TT-D file ] cellResolution is 50 30. fontSize is
   160%.
   ... [ Intermediate TVTT file ] backgroundColor, fontFamily do
   not change. The fontSize
   ... does though. The cell resolution is 1 1. The fontSize is
   noe 5.334%. Then the font size
   ... is relative to the height of the viewport. So the value can
   be carried across to the WebVTT document.
   ... the alignment is now directly applied to a p element, which
   corresponds to a cue box in WebVTT.
   ... Then you have to separate the information in CSS and
   WebVTT.
   ... [ WebVTT document ] The ID for the each cue is from the p
   element. The timecode
   ... is directly mapped from the begin, and the end from the
   end. The size is the width
   ... of the region, the position the origin and so on. For the
   cue payload you enclose
   ... everything with a <lang> tag.
   ... because WebVTT doesn't have a whole document language
   setting.

   nigel: I've raised an issue for that.

   zcorpan: There's an issue.

   atai2: Then the style is set using a class id, matched in the
   CSS style element on a ::cue pseudo element selector.
   ... And that has the corresponding style to the style element
   in the TTML.
   ... It's possible to directly map the styling from TTML to CSS.
   ... The font size is 5.334vh.

   nigel: Is that right that vh relates to the video viewport?

   zcorpan: That's right - it's normally the page viewport but
   specified as the video viewport for VTT.
   ... There's a bug in Chromium that treats vh as the page
   viewport, but it is a bug.

   atai2: [video demo of this in action] As you can see there may
   be some things not supported or wrong in the implementation, so
   it's not quite there yet, but the mapping is correct.

   zcorpan: The position is wrong because the second parameter
   isn't supported yet.

   atai2: We can use this as guidance to show implementors what
   they need to do to get
   ... correct rendering. This is an example only.
   ... There are some features not supported in all browsers but
   there is no listing of what
   ... is supported in all browsers yet. It would be useful to
   list feature support against
   ... browsers to show what can be used.

   nigel: Sounds like caniuse

   zcorpan: Yes but much more granular.
   ... That would also be useful for the test suite - there is one
   but it is out of date. It would
   ... answer what is supported if we were to update the test
   suite.

   atai2: I plan to do it with the samples and we can use those as
   the basis.
   ... This was an introduction about the status. It's important
   to know how you see this.
   ... Also we can go through the issues that have been raised.
   What is interesting is in general
   ... what was the first impression and suggestions for
   improvement.

   glenn: I'm just scanning it but I've seen a couple of issues to
   report.
   ... I need to go over the timing preprocessing steps. A quick
   glance suggests it is overly
   ... simplified and doesn't account for all of the containment
   semantics.

   atai2: The timing part is especially complex because TTML
   allows much more than WebVTT
   ... and for me there's also the question about what level of
   detail we go to in the mapping.

   glenn: For example since you have the ability to express simple
   duration using the dur
   ... attribute as well as active begin and end and there's
   temporal clipping if for example
   ... a child has a longer interval than a parent. Some of those
   things might not have been
   ... considered. I'd be the first to admit that by adopting the
   SMIL timing model we dug
   ... ourselves into quite a hole. In terms of understanding what
   was intended in TTML we
   ... normatively referred to the SMIL timing model, which you
   can get lost in pretty quickly!
   ... I think this is very interesting, especially the detailed
   work.
   ... Clearly a lot of thought went into this document and its a
   great result that I want to find time to do it justice.
   ... I'm going to be thinking about my own mental model of what
   ISD is supposed to implement that is not necessarily elaborated
   in TTML1.
   ... Given that this is effectively a separate reading of the
   semantics it will be interesting
   ... to see how it differs from my mental model.

   zcorpan: One thing I would like to discuss is what the goal of
   the document is. You said
   ... that you've tested it in browsers and the mapping doesn't
   work because of
   ... implementation bugs and missing features?

   atai2: Yes.

   zcorpan: Having something that is spec correct but not usable
   in practice seems nice
   ... but academic. It would be more useful if it documents
   something that works in
   ... browsers now even if the result is not valid VTT documents.

   glenn: That affects the end result not the transformation
   itself.

   atai2: It would not give people any benefit and could be
   dangerous if people trust the
   ... use of features that are not fully supported in browsers.
   The Web and TV IG pushed
   ... for this approach in the Charter of the TTWG, so the
   industry is concerned by having
   ... two formats and they have to deliver both of them. We heard
   on Monday there are
   ... already mappings out there. It's useful for people to be
   able to check that their mapping
   ... is correct. It's valid to highlight what is still
   controversial or not implemented and choose
   ... safe solutions. The community cannot wait for browsers to
   implement the features.

   zcorpan: This document is an opportunity to find bugs in
   browsers, that we should report,
   ... and to create a test case that they can use as part of
   their integration process.

   atai2: Is what I've shown something that can be used already?

   zcorpan: Not exactly, it needs to be in a slightly different
   format.

   <zcorpan> [31]http://www.webvtt.org/ has a basic support table
   that silvia made

     [31] http://www.webvtt.org/


   atai2: Jerry, for MS you're supporting both formats?

   Jdsmith: We have some support for VTT but it's plain text with
   no styling support.
   ... We did work on TTML SDP for IE 8.1 but WebVTT has not been
   updated recently.

   zcorpan: Do you support the <b> tag to make text bold for
   example?

   Jdsmith: I haven't done any tests - my understanding is that
   it's just default styling, maybe not with positioning.
   ... We had a certain amount of enthusiasm for TTML in Windows
   8.1 with SDP but we're
   ... the only browser that implemented it which keeps it from
   being useful.
   ... We don't have interoperation. WebVTT has better interop
   across other browsers. We
   ... didn't do anything like for Windows 10.

   atai2: We should not forget that we also map from WebVTT to
   TTML. We should also
   ... look at that.

   Jdsmith: We would have better support in the reverse mapping.

   zcorpan: I posted a link for support of WebVTT that Silvia
   made. It doesn't have any
   ... tick marks for styling, position settings etc in IE. so it
   supports your statement.

   atai2: Something like that would be useful with a bit more
   detail.

   nigel: I thought this is a really good piece of work, with all
   the right things in that we need.
   ... I did file a ticket that it is implicitly scoped to the
   text that would be displayed, whereas
   ... it would be valid to extract chapterisation from div
   elements and create WebVTT files
   ... from those for use where the track kind is not subtitles or
   captions.

   atai2: I think we wanted to keep it restricted to a simple
   scope.

   nigel: That would be valid but it needs to be clear in the
   scope section at the top.

   atai2: Agreed.

   zcorpan: You could solve the font size problem by removing font
   size and using the default. Would that work?

   atai2: XXXX it would be better to specify the height.

   nigel: Is the rendering plane assumed to be the same as the
   plane of the video?

   atai2: Yes it is. Pierre, is the root container in IMSC if
   ittp:aspectRatio isn't used the same as the video?

   pal: Yes

   zcorpan: The other thing to bear in mind is that the video
   viewport is not necessarily the same
   ... size as the video itself. It depends on how people want to
   use it. The assumptions we
   ... make may or may not be valid for the intended use.

   atai2: Yes. we can see what is the most used option. We need to
   call out the assumptions
   ... so if people have different assumptions then they have to
   do something different.

   nigel: Is there a way to find the size of the video?

   zcorpan: The natural-width and natural-height properties give
   you the size of the video itself.

   nigel: That's interesting. Do you also get the position of the
   video in the viewport?

   zcorpan: There's a separate spec for that, in the CSS Object
   Model.

   atai2: One question for me is what the process is for editing.
   If I make changes now
   ... and go through the same process for the working draft as
   for specs using PRs etc.
   ... I'm not sure if that's needed.

   zcorpan: If you don't expect review then just commit to master
   and tell us when you have
   ... something you want us to review.

   nigel: We can be more relaxed with a Note than a Rec track
   document, so that's fine.
   ... We still can review the commits.

   atai2: Looking at the tickets that are filed:
   ... They all have comments added to them now.

   issue-435?

   <trackbot> issue-435 -- Forbidden font family names -- open

   <trackbot>
   [32]http://www.w3.org/AudioVideo/TT/tracker/issues/435


     [32] http://www.w3.org/AudioVideo/TT/tracker/issues/435


   atai: Some generic font family names do not have a mapping into
   CSS.

   nigel: I see that our TTML list of generic font family names is
   larger than the CSS set.
   ... Does someone need to have an issue raised to fix their
   list?

   zcorpan: You can use "initial" in place of "default".

   plh: Do we have a sense of which are used from a TTML
   perspective? Are all those
   ... values used?

   glenn: This was a mapping from 608 or 708. I don't recall the
   details.

   pal: You could map TTML generic family names to actual font
   names like monospaceSerif would go to Courier.

   zcorpan: Extending CSS with new keywords won't help us now
   because they wouldn't
   ... be supported in browsers. We would need specific fonts
   written in the CSS.

   pal: Every example of CSS monospaced serif font seems to
   include Courier.

   nigel: There are two ways to tackle this - short term to make
   something work and more strategically by raising an issue on
   CSS.

   zcorpan: Sure you could do that.

   glenn: The 608 spec does allow for some of those generic font
   family names.

   atai2: I think we have to use values that work now.

   plh: If I was in the CSS WG I would notice that named
   downloadable fonts are used everywhere.

   nigel: monospaceSerif is all over the web used for displaying
   code.

   plh: One thing you could use is to map the generic font family
   name to a downloadable font, though I don't recommend that.

   zcorpan: You can map to the commonly available fonts in a stack
   based on the platform that you care about.

   atai2: That's a good comment.

   issue-436?

   <trackbot> issue-436 -- Move Overview to Annex -- open

   <trackbot>
   [33]http://www.w3.org/AudioVideo/TT/tracker/issues/436


     [33] http://www.w3.org/AudioVideo/TT/tracker/issues/436


   atai2: I'd like more feedback about this.

   pal: You have to go half way through the document to find the
   mapping part.

   atai2: It would be good to get more views on that.

   issue-437?

   <trackbot> issue-437 -- #time-clock is forbidden -- open

   <trackbot>
   [34]http://www.w3.org/AudioVideo/TT/tracker/issues/437


     [34] http://www.w3.org/AudioVideo/TT/tracker/issues/437


   atai2: That's an error that we'll fix.

   action-438?

   <trackbot> action-438 -- Andreas Tai to Correct feature use of
   #time-clock in TVTT profile -- due 2015-11-01 -- OPEN

   <trackbot>
   [35]http://www.w3.org/AudioVideo/TT/tracker/actions/438


     [35] http://www.w3.org/AudioVideo/TT/tracker/actions/438


   atai2: This accounts for other tickets too.

   issue-440?

   <trackbot> issue-440 -- Add support for ittp:aspecRatio -- open

   <trackbot>
   [36]http://www.w3.org/AudioVideo/TT/tracker/issues/440


     [36] http://www.w3.org/AudioVideo/TT/tracker/issues/440


   atai2: At the moment of editing we didn't consider any
   extensions, just TTML as a base.
   ... So IMSC has at least two extensions that it would be good
   to have a mapping for.
   ... One is forced display, the other is aspect ratio.
   ... aspectRatio cannot be supported in VTT but forced display
   can be done using tracks.
   ... It needs some more work.

   pal: [explains ittp:aspectRatio]

   zcorpan: I see. I need to understand why this is a problem for
   video on the web.

   pal: Because subtitles and captions are created as a single
   file for a single aspect ratio.
   ... If there's no mapping then you'll have to create two WebVTT
   files, one for 4:3 and one for 16:9.
   ... That could be in the document.

   nigel: This is partly needed because people author subtitles
   against specific positions.

   atai2: One of the benefits of this might be to identify feature
   requests for WebVTT.

   issue-446?

   <trackbot> issue-446 -- Should be a subset of IMSC1 -- open

   <trackbot>
   [37]http://www.w3.org/AudioVideo/TT/tracker/issues/446


     [37] http://www.w3.org/AudioVideo/TT/tracker/issues/446


   atai2: Pierre raised that this should be a subset of IMSC1. It
   is already. The question is if you would
   ... like a clearer relationship, for your review.

   pal: If it is then that's okay. It would be good to add it.

   atai2: It's also worth noting that the region definition is
   different between TTML and WebVTT.

   nigel: Regions are a relatively new feature in WebVTT, and we
   committed to keeping semantic alignment between new features in
   WebVTT or TTML2.
   ... We should check if it's too late to fix this, and we should
   use TTML2 regions as the comparison point.

   atai2: We need to think more about the details and styling. It
   would make sense to be able to apply styles to regions.

   zcorpan: I think the CSS WG raised that too. We can file an
   issue if we need to. They said that ::cue-region should be
   ::cue instead since the two seem like the same thing from CSS's
   point of view

   <pal> new repo: imsc1

   <glenn> new repos: ttml1 ttml2

   <atai2> new repo ttml-webvtt-mapping

   <glenn> default branch for ttml1, ttml2: master

   <atai2> default branch for ttml-webvtt-mapping : master

IMSC

   issue-428?

   <trackbot> issue-428 -- Definition of identical glyph -- open

   <trackbot>
   [38]http://www.w3.org/AudioVideo/TT/tracker/issues/428


     [38] http://www.w3.org/AudioVideo/TT/tracker/issues/428


   issue-429?

   <trackbot> issue-429 -- Glyph vs code point in HRM -- open

   <trackbot>
   [39]http://www.w3.org/AudioVideo/TT/tracker/issues/429


     [39] http://www.w3.org/AudioVideo/TT/tracker/issues/429


   pal: Then there are other issues that go back to issue-450 - it
   would be good to back to those now.

   issue-450?

   <trackbot> issue-450 -- IMSC1 Does Not Require Any
   Feature/Extension be supported by a Processor -- open

   <trackbot>
   [40]http://www.w3.org/AudioVideo/TT/tracker/issues/450


     [40] http://www.w3.org/AudioVideo/TT/tracker/issues/450


   pal: To summarise, the reported issue is that IMSC 1 specifies
   a document profile. There are some processor requirements too.
   ... Primarily it is a document profile. A typical example in
   §7.4. It says that a document
   ... shall conform to the following table, which contains a set
   of features. Unfortunately
   ... if you look at how TTML1 is written the definition of the
   referenced features are nothing
   ... to do with document conformance. They are processor
   requirements. That doesn't
   ... make sense from a conformance standpoint. After much
   discussion and feedback from
   ... Andreas, Glenn and Nigel, I propose to resolve that based
   on what is captured in Issue-450.
   ... [ Shows a new table for §7.4]. The goal is to avoid big
   changes to the document while
   ... tightening up the conformance trail.
   ... §4 Conformance now defines 'permitted' as the use of
   syntax, vocabulary or attribute values that can be successfully
   be processed.

   Jdsmith: So now it's in terms of processing.

   pal: That's my proposed fix. Before I go ahead and push this I
   wanted to get any feedback.
   ... [shows proposal on screen]

   group discusses details including what an empty cell means in
   the table.

   atai2: Looks good to me.

   glenn: A reader of this needs to make the connection between
   what is permitted in a document and what is required in a
   processor.
   ... So none of the features must be present in a document?

   pal: No it says it shall be a conformant TTML 1 document.

   glenn: Okay that's reasonable.
   ... Is it logically required that processors are required to
   support any feature that is shown as "permitted"?

   pal: Yes [shows the thread of conformance]

   glenn: Could you add a note to say that what this means is that
   every feature that is "permitted" is required by a document
   processor?

   pal: Unless the feature is further constrained by the profile.

   glenn: So you've subsetted some things here?

   pal: Yes.

   glenn: Another potential ambiguity here is that #length is
   generically permitted, which
   ... seems to allow cell to be allowed everywhere and therefore
   supported everywhere.

   pal: Yes. I've been correcting those things. What threw me off
   here is that not all features
   ... in TTML1 have a nice note line #length. For example
   #fontSize doesn't mention the
   ... link to #fontSize-anamorphic and #fontSize-isomorphic.

   glenn: That's true, we don't always indicate the hierarchy.

   pal: I have to go through, and they will be corrected. For
   example with #bidi, we make
   ... no statement because some implied features are permitted,
   others prohibited.
   ... Once we're happy with the format I need to go through and
   clean that up.

   glenn: My preference on the Conformance section would be to
   rewrite at least the 3rd bullet of presentation processor
   ... to do more than imply the connection but be more explicit.
   ... Anyway I think you understand my concern and you're trying
   to deal with it.
   ... I'd prefer to see the 3rd bullets on the presentation and
   transformation processor conformance sections.
   ... It would be useful to include a processor profile also.

   pal: I can't do that unfortunately.

   glenn: Why?

   pal: Because some of the features are constrained, and there's
   no way to express that.

   glenn: I see. That's where the careful exclusion language comes
   in.

   issue-428?

   <trackbot> issue-428 -- Definition of identical glyph -- open

   <trackbot>
   [41]http://www.w3.org/AudioVideo/TT/tracker/issues/428


     [41] http://www.w3.org/AudioVideo/TT/tracker/issues/428


   issue-429?

   <trackbot> issue-429 -- Glyph vs code point in HRM -- open

   <trackbot>
   [42]http://www.w3.org/AudioVideo/TT/tracker/issues/429


     [42] http://www.w3.org/AudioVideo/TT/tracker/issues/429


   pal: [shows slide describing HRM and its purpose]
   ... The HRM assumes that the glyphs matching a code point are
   basically the same.
   ... However for some scripts that isn't the case. [shows an
   arabic example where the glyphs are different for the same code
   points based on adjacent code points]
   ... So the mapping is out of the window for a number of
   scripts.
   ... How to deal with that? First, express the HRM in terms of
   codepoints because that's
   ... what is in the document.
   ... Approach #1 is to remove the glyph buffer, set the
   rendering rate for (latin, greek, cyrillic) to Gcpy,
   ... and set the rendering rate for all other scripts to current
   CJK rate.
   ... Approach #2 is to limit the glyph buffer to (latin, greek,
   cyrillic, hebrew) where there is generally a one to one mapping
   between codepoints and glyphs.

   glenn: There's another approach, which is to include a
   multiplier to take into account the
   ... likely number of textual variants. The constant could be on
   a per script basis as an
   ... approximation of what would be expected in the expansion.
   ... In practice e.g. in TTPE it does cache glyphs for all
   scripts.

   nigel: What does it cache?

   glenn: It caches the SVG path.

   nigel: Okay - I'm just reminded about Issue-318 which is about
   the HRM assuming pixel copying

   pal: There's just a constant that indicates the speedup - it's
   assumed that it's faster to
   ... render a glyph that has been seen before.

   nigel: I see.

   glenn: For complex scripts there are usually 3-4 glyphs per
   codepoint, up to a max of about 8.
   ... Hindi might have 2. Arabic could have 4-5 roughly.

   pal: Do you cache all 4 or just the one that you saw?

   glenn: If I don't have any context that generates that variant
   I would not pull it out
   ... of the font and cache it. I would only cache the glyph that
   I needed to draw.
   ... So a number of 4 as an expansion ratio would be
   conservative because it would over-
   ... estimate the complexity of documents but would set an upper
   bound on the processing
   ... complexity.

   pal: Right now GCpy is 10x Ren for non-CJK.
   ... Another question is if paint on is ever used for Arabic?
   ... Because the glyph would change.

   glenn: Live captioning applies for all scripts.

   nigel: So for users would it be weird when a character is added
   for a previously visible glyph to change?

   glenn: No it's normal - readers are used to that. Words are
   delimited by whitepace in
   ... arabic, and the orthographic symbol in indic, so the glyphs
   can't change that often.
   ... [ explains how the glyphs change for an arabic example,
   with isolated, initial, medial and final variants of the same
   code point.]
   ... There will be random distribution on most of those
   characters just like in English.
   ... Any letter can appear anywhere in a word. There may be
   slight biases but generally the distribution will be even.

   pal: So a factor of 4 would be reasonable.

   glenn: Some fonts have up to 60 variants per letter, for
   example to represent long-hand
   ... English, where you draw each letter slightly differently
   dependent on the adjacent
   ... ones. The point is that in the standard Arabic typography
   and fonts.

   nigel: Now do you have everything you need to make progress
   Pierre, since we're out of time?

   pal: Yes, I can work with Glenn to get the numbers, and propose
   an edit for tomorrow.

   nigel: We'll adjourn for now. We've had a really good day -
   thanks everyone, let's do that again tomorrow!
   ... [Adjourns meeting]

Summary of Action Items

   [NEW] ACTION: atai2 Kick off the analysis work on the VTTCue
   carrying HTML idea. [recorded in
   [43]http://www.w3.org/2015/10/28-tt-minutes.html#action02]
   [NEW] ACTION: gadams Prepare a document showing mapping ARIB
   ruby extension features to TTML2 for use as a liaison document
   to ARIB. [recorded in
   [44]http://www.w3.org/2015/10/28-tt-minutes.html#action05]
   [NEW] ACTION: glenn Prepare a document showing mapping ARIB
   ruby extension features to TTML2 for use as a liaison document
   to ARIB. [recorded in
   [45]http://www.w3.org/2015/10/28-tt-minutes.html#action04]
   [NEW] ACTION: nigel Add an issue to TTML2 for ensuring plain
   text accessibility [recorded in
   [46]http://www.w3.org/2015/10/28-tt-minutes.html#action03]
   [NEW] ACTION: plh Look at writing a script to create github
   issues from tracker issues. [recorded in
   [47]http://www.w3.org/2015/10/28-tt-minutes.html#action06]
   [NEW] ACTION: zcorpan Raise an issue on the HTML spec to add an
   API to expose the user preference [recorded in
   [48]http://www.w3.org/2015/10/28-tt-minutes.html#action01]

   [End of minutes]
     __________________________________________________________


    Minutes formatted by David Booth's [49]scribe.perl version
    1.140 ([50]CVS log)
    $Date: 2015/10/29 08:25:03 $
     __________________________________________________________

     [49] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm

     [50] http://dev.w3.org/cvsweb/2002/scribe/


Scribe.perl diagnostic output

Received on Thursday, 29 October 2015 08:40:49 UTC