Open palemieux opened 6 years ago
I believe we've been intending to support this with font-style: -20%
(or whatever value gives you the synthesized oblique you require)
@astearns I read font-style: -20%
as applying to each character individually. Per the illustrations above, the shear is applied to ruby base and text as a block.
We might be able to handle that by defining the desired outcome for upright characters, text-combine-upright runs and ruby text when synthesized oblique is applied.
Can I ask where you got the screenshot? I wonder how much common to shear ruby text together. AFAIK, it is not common in publishing world. Maybe different in TTML usages?
AFAIK, it is not common in publishing world. Maybe different in TTML usages?
Yes, as I understand it, shearing is not common in printing/publishing, but common in subtitles.
Below is a selection of pointers:
Can I ask where you got the screenshot?
The screen shot was generated by imscJS, which an implementation of IMSC 1.1. See the sample app and the following IMSC 1.1 sample.
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns:tt="http://www.w3.org/ns/ttml"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns="http://www.w3.org/ns/ttml"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/imsc1.1/text">
<head>
<styling>
<style xml:id="s1" tts:showBackground="whenActive" tts:color="white" tts:writingMode="tbrl" tts:fontSize="150%"/>
</styling>
<layout>
<region style="s1" xml:id="vertical" tts:origin="55% 5%" tts:extent="40% 90%"/>
</layout>
</head>
<body>
<div begin="0s" end="1s" tts:shear="16.67%" region="vertical">
<p>
<span tts:ruby="container" tts:rubyAlign="spaceAround" tts:rubyPosition="before">
<span tts:ruby="baseContainer"><span tts:ruby="base">山</span></span><span tts:ruby="textContainer"><span tts:ruby="text">やま</span></span></span>の
</p>
<p>
<span tts:ruby="container" tts:rubyAlign="spaceAround" tts:rubyPosition="after">
<span tts:ruby="baseContainer"><span tts:ruby="base">最多<span tts:textCombine="all">1998</span>年</span></span>
<span tts:ruby="textContainer"><span tts:ruby="text">ルビサンプル</span></span>
</span>
</p>
</div>
</body>
</tt>
Yes, as I understand it, shearing is not common in printing/publishing, but common in subtitles.
Sorry, it looks like I mislead you.
Shearing is common in printing/publishing. We've been discussing how to do this in css-fonts for years.
When it has ruby, it is common to shear ruby base and ruby text separately in printing/publishing, and that's the only portion where we see TTML has different requirement from printing/publishing.
So the question is, is shifting ruby text position an important factor to need a separate mode for TTML? Do you have any pointers that indicates ruby positioning of sheared text should be different from printing/publishing?
For text-combine-upright
, it's a good point. The requirement is same, we should fix it in css-fonts.
So the question is, is shifting ruby text position an important factor to need a separate mode for TTML? Do you have any pointers that indicates ruby positioning of sheared text should be different from printing/publishing?
See w3c/ttml2#784 for some pointers.
@akiseino who has direct experience with cinema subtitling should be able to provide additional evidence.
I see @akiseino says on 23 May:
The ruby by individual, is moved to left side. But it's center by block.
It indicates ruby should be centered, not to be moved by shearing. IIUC this is the same as printing/publishing.
It indicates ruby should be centered, not to be moved by shearing. IIUC this is the same as printing/publishing.
Can you provide an illustration to avoid any misunderstanding?
Related to oblique angle for synthesis in vertical text
The CSS Working Group just discussed Shearing Vertical Text
.
What should be done to progress the support for line-shearing in CSS?
Hi all just adding my $.02 since I just discovered this issue and how it impacts shearing of Japanese subtitles in CSS scenarios. This impacts all Japanese subtitles we author and while many of the use cases do not depend on CSS, many do and require workarounds to accomplish on screen what has been authored in the ttml itself. For my use case specifically the region extents cropping text when shearing is applied, requiring modification to the style settings that we otherwise wouldn't want to include. See below for an example of shearing being cropped as displayed via imscJS CSS.
For more media context, more and more content owners and media platforms are implementing IMSC as their core timed text format for media inventories and mezzanine time text distribution assets, but many platforms still perform format conversions (converting from IMSC to VTT, etc.) to display subtitles due to limitations like this (and of course for other reasons internal to their own media processing pipelines).
Japanese subtitles commonly use shearing of text, as illustrated below.
Not sheared:
Sheared:
Couple of observations:
while shearing might not be appropriate for books, it is commonly used for subtitles
shearing is not applied to individual characters, but instead to complete blocks -- each of the digits in 1998 is not sheared individually, and both ruby text and base are sheared as a single block
the shear angle is author-specified
it should be possible to shear individual lines as well as groups of lines
CSS Transforms Module Level 1
skewX()
andskewY()
can be applied to blocks but neither to lines nor inline elementsSee
tts:shear
,tts:lineShear
andtts:fontShear
at TTML2.