Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to handle mismatched sequences in complex ruby #247

Closed
r12a opened this issue Feb 16, 2017 · 6 comments

Comments

@r12a
Copy link

commented Feb 16, 2017

I may have missed it, but i think the spec doesn't say anything about what should happen if, for example, an rbc contains 2 rb items and the rtc contains 4 rt items, or vice versa.

@css-meeting-bot

This comment has been minimized.

Copy link
Member

commented Feb 1, 2018

The Working Group just discussed How to handle mismatched sequences in complex ruby ttml2#247, and agreed to the following resolutions:

  • RESOLUTION: Add a normative statement that the behaviour for mismatched rb and rt numbers (other than a single rt) is implementation dependent.
The full IRC log of that discussion <nigel> Topic: How to handle mismatched sequences in complex ruby ttml2#247
<nigel> github: https://github.com//issues/247
<nigel> Cyril: I could not find how the mapping is done between the container and the base text
<nigel> .. if there are multiple bases. Is a 1:1 mapping needed?
<nigel> Glenn: I believe the answer is yes. I think he's asking if RT items != RB items.
<nigel> .. TTPE implements code to handle that case and probably applies however many RTs to
<nigel> .. the available RBs and if there are more then they are ignored. We don't say anything in
<nigel> .. the spec text right now.
<nigel> Cyril: I think we should. In #246 he is proposing to change the example but not the base
<nigel> .. text, which I think is not correct. This is the "complex ruby" example. The first part
<nigel> .. is a base container, containing one base element, and the second part has only one text
<nigel> .. element, and he wants to change to two separate spans with ruby text, but if you do that
<nigel> .. you have to change the [scribe lost track].
<nigel> .. I think if we say mapping has to be 1:1 then ... [look at the complex ruby example in the spec]
<nigel> .. He wants to split the "before" into two sets of two characters each, with each pair
<nigel> .. corresponding to a single base character.
<nigel> Glenn: The rendered output would be the same either way.
<nigel> Cyril: That clarifies my question to #246, that's fine. If I do what he says, and split the
<nigel> .. span for before annotation into two, how do you know that the first one applies to the
<nigel> .. first character?
<nigel> Glenn: Good question. This goes back to the previous question whether there's a different
<nigel> .. number of text to base units in the case of...
<nigel> Cyril: If there's only one text, then it is group ruby and applies to all bases. If there's the
<nigel> .. same number, I also understand it means mono ruby. I don't understand if there are
<nigel> .. other permutations.
<nigel> .. We could say you have two choices: text containers = base containers or text container = 1
<nigel> .. (i.e. number of them)
<nigel> Glenn: Yeah, right now I don't see any way to specify both before and after cases and
<nigel> .. separate the bases.
<nigel> Cyril: There's nothing to prevent it, it's just not specified.
<nigel> Glenn: I would need to look at the current CSS Ruby spec which is actually quite old.
<nigel> Nigel: We need a resolution to this issue.
<nigel> Pierre: Does this ambiguity arise in a use case that Netflix has?
<nigel> Cyril: At the moment we don't have this use case.
<nigel> Pierre: One possibility is to try to specify the behaviour in the complex cases, another is
<nigel> .. to eliminate those complex cases by prohibiting them. A third is to ignore them in TTML2
<nigel> .. and leave them deliberately underspecified. We might just not have time to specify the behaviour.
<nigel> Glenn: I tend to agree with leaving it underspecified. But will Richard be able to accept that?
<nigel> Pierre: How does HTML do it? Do they simply not support those complex cases?
<nigel> Cyril: They do support it. This example looks complex but it isn't uncommon.
<nigel> .. My proposal would be to add constraints about texts = bases or texts = 1.
<nigel> Pierre: In TTML2?
<nigel> Pierre: Fine with me. You could constrain that in a feature.
<nigel> Glenn: I'm not prepared to accept that. It's related to the other issue, which is if there is a
<nigel> .. different number of texts from bases, how is that resolved? That is independent of before
<nigel> .. and after.
<nigel> Cyril: Yes
<nigel> Cyril: If you don't have the after then you just use container, base and text, and have two
<nigel> .. consecutive ruby containers.
<nigel> Glenn: My preference would be to resolve this post-CR with clarification comments.
<nigel> Cyril: No we have to resolve it before CR, it is not editorial.
<nigel> Nigel: +1
<nigel> Glenn: If I'm forced to answer, I'm going to say defer it to the future.
<nigel> Nigel: I would propose to keep the syntactic flexibility but apply Cyril's proposed constraints
<nigel> .. as a feature, which provides something that we can test sensibly.
<nigel> .. That allows us to add further semantics later.
<nigel> Glenn: That's terrible. I would say right now, normatively, that if the number of base items
<nigel> .. and the number of text items are not matched then the behaviour is implementation
<nigel> .. dependent.
<nigel> Cyril: That's fine by me.
<nigel> .. But also allow group ruby?
<nigel> Glenn: Yes.
<nigel> Cyril: This is enough for me to move forward.
<nigel> RESOLUTION: Add a normative statement that the behaviour for mismatched rb and rt numbers (other than a single rt) is implementation dependent.
@nigelmegitt

This comment has been minimized.

Copy link
Contributor

commented Feb 1, 2018

@r12a drawing your attention to the above resolution.

@r12a

This comment has been minimized.

Copy link
Author

commented Feb 1, 2018

chaps, i've been swamped this week and unable to get to this stuff. I plan to try to do so tomorrow.

@css-meeting-bot

This comment has been minimized.

Copy link
Member

commented Feb 1, 2018

The Working Group just discussed How to handle mismatched sequences in complex ruby ttml2#247, and agreed to the following resolutions:

  • RESOLUTION: (updated following further discussion) All mismatches will be left as implementation dependent behaviour, even if the number of texts is 1.
The full IRC log of that discussion <nigel> Topic: How to handle mismatched sequences in complex ruby ttml2#247
<nigel> github: https://github.com//issues/247
<nigel> RESOLUTION: (updated following further discussion) All mismatches will be left as implementation dependent behaviour, even if the number of texts is 1.
@r12a

This comment has been minimized.

Copy link
Author

commented Feb 14, 2018

Hm. Well it's good at least that the spec now recognises that it doesn't address the problem. The note by Cyril is clear, and addresses my original question. I'll report back to the i18n WG.

cconcolato added a commit that referenced this issue Feb 16, 2018

Merge pull request #623 from w3c/issue-0247-ruby-mismatch
Mapping between ruby base and ruby text in complex cases (#247).
@r12a

This comment has been minimized.

Copy link
Author

commented Feb 23, 2018

The i18n WG has closed its tracker for this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.