[usf-devel] Re: Character orientation in Asian and Mongolian read-direction (verticaltext lines)
- From: unmei <unmei@xxxxxxxxxxxx>
- To: usf-devel@xxxxxxxxxxxxx
- Date: Sun, 14 Aug 2005 01:19:22 +0200
liisa wrote:
Is this a counterpart of ASS \frz ?
But \ftz is "line rotation"
line-rot. and glyph-rot. are 2 different things:
http://usf.subforge.net/images/font-rotation.png
No, it wasn't planned as such. I haven't looked into the SSA
specifiations "for ages". I was strctly looking for a way to manage the
problem with rotated words in upright top-down text. And when you say
\frz is for lines, then it is obviously not even by accident the same.
The "capability to do funky things" i also only only realized when i
wrote the mail, it was not initially planned, but then i saw "heh, when
i allow more than just boolean values here, this has potential for
becoming style candy"
(actually, i had line-rotation expected to keep the letters normal to
the baseline, not notmal to the viewport, but that's OT)
There's yet another thing to consider.
- tate-chuu-yoko
- ruby direction
http://usf.subforge.net/images/tate-chuu-yoko.png
interpreting this picture i think the ruby direction is already solved
with the new attribute:
<text read-direction="Asian"><ruby><rt glyph-rot="-90">eng.
explanation</rt><rb>complicated japanese term</rb></ruby></text>
<text read-direction="Asian"><ruby><rt>jpn.
explanation</rt><rb>complicated english term</rb></ruby></text>
(of course also possible by referring to styles)
(assuming the japanese text should be upright and the english 90Â
clockwise rotated as seen in your picture)
However glyph-rot cannot be used for tate-chuu-yoko (heh i start to
think you invent this stuff for keeping me busy ;D)
The answer to this would be rotate-z as fontstyle attribute. This is
procedurally on the point, but it would lack a semantic meaning. If
tate-chuu-yoko is a concept that should be identifyable because it "has
a meaning" (like ruby binds to the base as "explanation") it were
probably preferrable to have a special element for it, if there is no
such "meaning" i think it could well be done with rotate-z.
allow values "+90", "0", "-90" and maybe more instead of a simple
boolean flag such as "upright"|"rotated".
That'd be practical, at least as a starter.
only a few possible attributes, like
glyph-rotation = none | left | right | down | inherit
Actually i would prefer not to use keywords as values even in the very
begin. Because "-90" is a simple integer, but it is also a valid float.
But if you use keywords and later want to switch to floats for style
candy, the keywords are in the way. You either need to support 2
datatypes, floats and keywords. Or you drop the keywords, which is
rather uncool.
I am not quite sure i understand how you interpret "none" and "inherit",
but i assume it were covered by explicity setting "0" in nested elements
("none") vs. omitting the attribute in nested elements ("inherit").
If you think numeric values are too ugly for the basic user, we could
discuss about supporting both keyword and numeric values. It is not
especially more complex, i just preferred not supporting both in the
case there was no reason to have keywords.
http://usf.corecodec.org
Other related posts: