- From: Erik Dahlstrom <ed@opera.com>
- Date: Thu, 30 Oct 2014 18:11:56 -0700
- To: "public-fx@w3.org" <public-fx@w3.org>
Minutes:
http://www.w3.org/2014/10/31-fx-minutes.html
as text:
[1]W3C
[1] http://www.w3.org/
- DRAFT -
SV_MEETING_TITLE
31 Oct 2014
See also: [2]IRC log
[2] http://www.w3.org/2014/10/31-fx-irc
Attendees
Present
Regrets
Chair
SV_MEETING_CHAIR
Scribe
dael_
Contents
* [3]Topics
1. [4]Text in a box
2. [5]Image Rendering
3. [6]Connectors
* [7]Summary of Action Items
__________________________________________________________
BlackCatkins: There isn't anything written down. We're supposed
to, but haven't gotten to it.
dino: And the idea would be you use pseudos plus some ordering.
Tav: 3 options. 1) don't allow text decoration color, but need
a nested <tspan> hack.
krit: Can you summarize again, sorry.
Tav: SVG has the ability to put a differenet color on fill and
stronke. How do we do this with CSS3 text decoration because
color doesn't allow you to spec those three things.
ChrisL: So there's now text decoration color. Is that the fill
or stroke color?
fantasai: Fill color.
Tav: That's color, what if you ant pattern?
fantasai: 1st option doesn't make sense, we'll have the same
problem in CSS. We want to do that going forward, so HTML and
SVG should have identical solutions.
... text-decoration-color shouldn't set text fill.
Tav: to text fill.
fantasai: In SVG can fill be diff between text and text
decoration.
Tav: With nested <tspan>s
fantasai: And fill can take color?
Tav: Yes.
fantasai: I think if we're going to add text-decoration-fill
and -stroke we should remove color.
Tav: Well lovely.
fantasai: I'm not sure what impl is. Mozilla has a prefixed and
I think some printers have things. With Mozilla they can change
the name.
... That might be one option. WE could als have
text-decoration-color default to auto because then you have 3
prop when 2 is fine. We have to do something funny between
color and fill for text anyway.
Tav: If we did option 3 it won't be inconsistant with replacing
color.
fantasai: I wouldn't make it SVG only.
ChrisL: So CSS# could change without others moving.
fantasai: Given that it's in CR if we replace we would just do
the re-name to fill and have it only take colors. I think tab
and I have to define fill and stroke for CSS and so we could
add it into 4.
bradk: Can text-decoration-color be a long hand for *-fill? It
won't be as intutitive.
plinss: Should be for -stroke and -fill. I'm not saying you set
it to both, You set -fill and -stroke is set to none.
fantasai: That might be an option. We have several options.
ChrisL: Is it in the minutes enough that you'll know what to
do?
Tav: If I impl option 3, it won't be broken in the future?
fantasai: No.
<dbaron> plinss is proposing that we have text-decoration-fill,
text-decoration-stroke, and text-decoration-color which is a
shorthand that sets t-d-fill to its value and t-d-stroke to
none
fantasai: I think the minutes are roughly alright.
... I'll add notes if I need to.
... 1 option is have all 3 and have one be a shorthand of the
other two, one is have just fill and stroke, the third is have
them relate in the same way as color fill and stroke.
... We just need to sort through the implications and decide on
one.
<Tav> [8]http://tavmjong.free.fr/SVG/TEXT_IN_A_BOX/index.html
[8] http://tavmjong.free.fr/SVG/TEXT_IN_A_BOX/index.html
Text in a box
Tav: We've had a bunch of requests to have text inside a fixed
size box so it fits. Right now they use text length in SVG.
... SVG says this isn't the intended use.
... Org in so if rnedering is a different font, things stay
aligned.
... So how does on adjust text inside a box. Should this be
shared between SVG and CSS?
<ChrisL> assuming text ellipsis is not an option
BlackCatkins: This has been a forever request in CSS.
ChrisL: This is also common for CAD stuff
Tav: Diagrams and the like
shepazooOOoo: There might be more than one option for adjusting
the text: changing the letter spacing, or changing the
font-size.
Tav: In particular we had a request for an additional value to
length adjust that would also spec that the font would be
changed so you're shrinking both vertical and hor.
fantasai: There's more. Adjustment of spacing, changing the
font size, switching to expanded or compressed font, kashida
elongation for Arabic, substitution of swash glyphs in other
scripts, doing graphical expansion and compression. There's
also that you mgiht want to sub some and have a fallback if you
can't substitute.
Tav: In addition it was suggested to have a length adjust
direction so you limit expansions or contractions.
... There's a limit where you want to maintian legibility.
... It's not just simple examples with one line.
BlackCatkins: So you're looking for paragraph level
justificatin.
astearns: No, it's beyond that.
Tav: I put alternative methods to fit text into a region. You
can change font size and take care of moving.
shepazooOOoo: There should be an easy way to do vertical
centering, but baseline isn't impl interop.
Tav: All my examples rely on JS.
astearns: So yu point out this is JS now, it may be it should
continue to be in JS because each app can have different
considetations. People will want to fiddle with different
controls and that's easiest in script.
Tav: It would be nice for simple cases without JS.
ChrisL: Ycan do an image tag or something where you don't want
script.
<ChrisL> archival CAD images for example
astearns: If you want simple, these complex considerations
should maybe be thrown out the window and not change font.
Sometimes you want to find a new font ecause the family has a
fallback.
Tav: That's something where they designer may have needed to
find the font.
... Letter spacing has no consistancy and then there's
centering horizontally.
smailus_: Do you have an ex with both width and height?
Tav: not here, that's what was suggested by the extra option
smailus_: length-adjust option?
Tav: Yes.
ChrisL: CAD can use SVG or CGM historically that does this in a
simple way. People who do this can't switch to SVG because it
can't do that.
<astearns> my suggestion was to expose this as single-line
fitting using a graphic transformation
smailus_: CGM has some options as to how to stretch or desc the
restricted text and how the decendors have to fit inside. It's
a standardized industry accepted thing.
... There are some knobs in CGM and if we can facilite that it
would be helpful later.
ChrisL: If you have time an analysis of what's actually used
would be great.
smailus_: I always think that's easy and find it's hard.
fantasai: Can you give us a link to those?
smailus_: I will in IRC.
Tav: I'm not sure text-adjust is the correct thing to use, but
a CSS solution would be good.
fantasai: It's come up in a lot of contexts. We had
text-justify with a min and max before and we have a resolution
to create a way to set those in fonts.
BlackCatkins: I think we can do a simple solution that defaults
to graphical and gives a few extra options.
ChrisL: The use cases for this and for a book are completely
different.
fantasai: I think that would go into CSS Text.
<smailus_> CGM text fitting to what is called a Restricted Text
(to a rectangular region):
[9]https://www.w3.org/Graphics/SVG/WG/wiki/File:SVG_2_Proposals
Technical_and_Engineering_Graphics.pdf on document page 8
[9]
https://www.w3.org/Graphics/SVG/WG/wiki/File:SVG_2_ProposalsTechnical_and_Engineering_Graphics.pdf
fantasai: Vertical alignment, I think if you have a two line
label you may want to center them together.
Tav: I agree. That was a hack.
fantasai: You want the term central, not middle as well.
... In CSS we have an alignment spec and it doesn't apply to
SVG right now, but if you need it to you can define it to
apply.
BlackCatkins: Just align-content:center and you're done! yay!
astearns: When you're fitting text in a circle, you want multi
line jsut fitting in an arbitary shape. If anyone has a
solution that's not make it bigger until it overflows and go
back one, I'm not aware of it.
shepazooOOoo: There's adobe.
astearns: You just do the same thing where you make it bigger
until it overflows and go back one step.
shepazooOOoo: You could basically take the shape and make a
slightly smaller shape inside and make it bigger until it
intersects the smaller shape.
astearns: There's content and container fitting and they're
both be cool to have, but they're slow on the web.
ed: So the conclusion?
Tav: We'll get some CSS to do the simple stuff.
BlackCatkins: We limit to transforms and letter spacing and
it's easy.
Tav: And multiline in a box, that's easy?
<fantasai> Sorry, I'm wrong, there is a middle
dominant-baseline. What the difference between that and central
is I can't quite figure out from the very confusing 10yr-old
CSS spec
BlackCatkins: No, multi line is harder.
Tav: A curve might be harder because you shrink stuff.
BlackCatkins: Line breaking means it's not only your function.
ChrisL: When you said multi-line were you asking about text
with hard line breaks?
Tav: Ideally flowing. You can think about letter spcing for the
individual line.
ChrisL: We have a bunch of content with hard breaks. You don't
have to reflow, we just want to make sure the longest line
fits.
<fantasai> Found the difference. And I think you do indeed want
central. middle takes half the ex-height above the alphabetic
BlackCatkins: Yeah. So if you have multi line with line breaks,
are you okay with only one shrinking, or should they all be
shrunk. YOu just adjest with letter spacing, one overflows, the
others don't. Is it okay if just that one line shrinks or
should they all shrink equally?
Tav: Prob the first.
bradk: You could do the font size.
Tav: In the ex it was letter spacing
fantasai: I think you want evenly
smailus_: I can think of a use case where you want to shrink
them all evenly.
BlackCatkins: We can go with if you want it per line, you just
put wrappers on this line.
fantasai: We also have a each line keyword with text indent.
bradk: Is there a limit to the amount of negative character
spacing?
BlackCatkins: Yeah, ou want browsers to be smart on that.
bradk: There's not much range where it looks good.
BlackCatkins: This is why we want to keep as simple as possible
so we want to let script libraries be fancy.
fantasai: You either need a limit in the spec or have the
author define the limit and have the UA define more or less
infiniate.
... Right now you can go negativein impl spec, but you don't
hit it before you get ugly.
bradk: So what about when there's a lot more overlapping text
then author antic?
Tav: How often do you find text that's changed size massively
smailus_ ?
smailus_: Not often. In the CGM world they're sed to stretching
or squeezing a bit.
Tav: So I think the real case is small adjustments.
bradk: The user can adjust the script themselves.
Tav: I don't think we need to take care of things like that.
BlackCatkins: I can start a thread with this on www-style to
try and come up with the small set of things we want to expose
and we continue there?
smailus_: So what'st he conclusion?
BlackCatkins: I think that CSS should provide some simple knobs
that can help. I've run into x problems, but not y.
smailus_: For us if you have y you have a wiring diagram and a
label. If you've shifted too close to one or the other you
might assume it's not for both.
astearns: So if both items have a label, can they have
different height to fit, or should they both be the same? So to
fit the label can you transform both x and y, or just one?
smailus_: We want it to transform in both dimensions in out
case. You can have 16 stacked and you associate wrong label
again.
astearns: Do two labels need to have approx same font height
for consistancy?
smailus_: Yes. If you're labeling a bunch of wires you'd want
them to look the same.
astearns: When you reflow the one that is numbered 400073 and
you have to shrink to fit, you only want to shrink in x
direction.
smailus_: Yes.
fantasai: So we'd just be transforming in inline direction so
we don't distort relative sizes. When you spec a font size you
get that one even if you get a substitute.
smailus_: The author will pick a font and if you sub you want
something close.
ed: Next step?
BlackCatkins: I'm writing the e-mail right now.
ed: Anything further on this?
smailus_: I don't think so.
ed: We're almost out of time.
<Tav>
[10]http://tavmjong.free.fr/SVG/IMAGE_RENDERING/index.html
[10] http://tavmjong.free.fr/SVG/IMAGE_RENDERING/index.html
Image Rendering
Tav: There's some inconsistancy between SVG and CSS3 Images.
There's a question as to what to do with SVG.
... I got some feedback about the spec and it's hard to
understand exactly what you would do to impl CSS3 IMages.
... I got some from JAsper and he thought the spec should focus
on what the ideal image should look like. I got some other that
was confusing about rotated or pixilated. There was also
concern about when you're anti-aliased and when you have large
pixals and they have meaning so you might end up with something
else showing.
... The suggesting was going into shape rendering where you
could turn off anit-aliasing.
... Some existing content explotes optimized speed to preserve
pixalated. We're almost ready to release a new inkspace. Can
optimized speed be aliased to anti-aliasing?
BlackCatkins: Sounds reasonable.
Tav: In filter effects spec we have an issue.
dbaron: Does the spec desc the diff between crisp and pix where
one does nearest neightbor for both and one doesn;t?
BlackCatkins: Spec used to use nearest neighbor in one way, but
it was changed to say pixilated needed to be nearest neighbor.
dbaron: I think we're trying to impl the old. There were good
use cases forthe old way.
Tav: I'm not sure down should use nearest neighbor.
BlackCatkins: Yes, but plugging it in was non-trivial. People
didn't want to have to memorize direction
dbaron: And we wanted the thing that did up and down scaling
differently for our UI.
... I'm not sure what dholbert settled on, but he might go
witht e old way.
BlackCatkins: It was argued that you can use nearest for down
or a smarter way but you must use nearest neighbor for
upscaling.
... I thought I edited in that you can do different for
downscaling, but I didn't. I'll fix that.
... So pixalated can allow prettier.
Tav: I thnk having some images in there would help.
BlackCatkins: I can do that.
Tav: Giving an example for crispy edges would be good. Also
maybe a suggested algo?
BlackCatkins: I have working about that already. In the
explanitory text.
... It's in there, just not close to the value name. I can move
that.
Tav: Exponding a bit would be great..
<fantasai> Did we mean s/crispy edges/crisp-edges/ ?
BlackCatkins: I have images. I'll put them in. Something about
rotation?
Tav: What happens when you rotate pixilated art?
BlackCatkins: It's only applied to scaling only. It doens't
have word about rotation. It's not clear if rotation or scaling
should go first, but I assume scaling first.
Tav: That's what I would think.
fantasai: You have a complication with the transform prop.
<fantasai> fantasai: which specifies an ordering of scaling vs.
rotation
dbaron: IN some cases you might do anti-aliasing as a part of
the transform. Does image rendering apply to that.
BlackCatkins: This is for rendering at a different width or
heigh, I don't make that clear. Are you intending it for
transforms?
dbaron: I feel it would apply
BlackCatkins: Well if you rotate and scale what does it mean?
How do they apply?
dbaron: Browsers will also do a transform with different layers
and may lead to the property not always being honored. I don't
know what's the right thing. It might be a pain to pass down to
the level scaling to say if it'st he result of a transform or a
size. You end up a request to draw and image at a size if it
comes from one place or the other.
BlackCatkins: I would have expected different code paths
dbaron: It's one code pat. You don't want to scale twice.
BlackCatkins: So we need to decide how the applies to a
rotation. You said you can't honor in all transforms so I'd
like to see examples.
fantasai: It's scaling, rotation and skewing that we're
considering. scaling and roaion should do the same thing, it's
all about distortion of lines.
krit: The worst case if translation off pixel boundries.
fantasai: You can have an image scaling prop and an mage
skewing property.
BlackCatkins: We need to think about this on the list and I
need to talk with people.
dbaron: I talked to the person responsible for our image code a
lot.
<fantasai> TabAtkins^: But image-rendering is the legacy name
<fantasai> fantasai^: If it does both, it can be a shorthand.
BlackCatkins: I think everything else I can do myself, this
should go to the ML.
Tav: I think I'm done.
ed: I guess we have 5 or 10 minutes.
<Tav> [11]http://tavmjong.free.fr/SVG/CONNECTORS/index.xhtml
[11] http://tavmjong.free.fr/SVG/CONNECTORS/index.xhtml
Connectors
Tav: We've talked about this already today with other groups.
The question I have is for syntax.
... The way I envisioned this to work is you spec the connector
and the points to connect to and you may have some intermediate
points for a simple line.
... For symbols you want to use a symbol. HOw can you ref the
ports? I want to connec thte output of one to the output of the
other. I'm not sure if this should be CSS, but I thought you
might know the syntax you want to use.
BlackCatkins: You want a selector for the ID out
fantasai: Yeah.
Tav: WE just added something with selectors.
fantasai: ou use just an ID or a selector
Tav: So you just use an ID?
fantasai: If you do it inline you can make it a selector later.
The #out has to be unique the whole time.
BlackCatkins: The points are associated with each pair. We can
make new functions to refer to.
dbaron: to fantasai comment, that's not nec. true. There's a
useID that's endGate1 so the url endGateOut...
ChrisL: The model is using it to draw.
BlackCatkins: What we need to do we can mint a point function
that points to an element and names and element with points and
the other arguement is the name of the point. Some elements
have points with names.
shepazooOOoo: This isn't styling.
BlackCatkins: I'm using m syntax experience with CSS
Tav: And that's fine. 'm using them as syntax exerts.
fantasai: You may want to decide which box you care about and
use background positioning syntax to say where in the box ou
want and find the nearest point on the border.
... So if it's a weird shape it jsut find something.
shepazooOOoo: I think we should draw some more concrete use
cases.
... This is one fine use case, but it's not enough to decide on
the syntax. Instead of solving just this case I'd like to see
others.
smailus_: The circles are where the connector ends?
Tav: They're defined in the space of the symbol.
smailus_: It's a marker of the connector, right? So gates using
a circular market is bad. It's a bad example in logic gates.
[note, we're discussing figure 5 ont he link]
BlackCatkins: The first syntax on the connector points is just
use bare IDENTs and then use url when pointing to another
element.
<BlackCatkins> url(#AndGate1) Out, Mid1, Mid2, url(#AndGate2)
InA
BlackCatkins: You provide a point name and optionally a url.
shepazooOOoo: So when you connect to four different things
which are the four points, te semantics make me uneasy.
BlackCatkins: The semantics are it's the first and last point
being connected.
Tav: If you can come up with another way to do it I'd be happy.
shepazooOOoo: Maybe we should work on this tomorrow. I prefer
the syntax I had where the ports are named things that can
arbitarily be connected to.
BlackCatkins: Why are we repeating midone and midtwo?
Tav: They don't have to.
BlackCatkins: I don't think you want to skip there.
dbaron: What if you were connecting 3 things with two points
and needed the order.
BlackCatkins: Do we know how it works if we're doing more than
one?
shepazooOOoo: You only do single in and out.
BlackCatkins: So if you're connecting 2 you do it as three
connectors.
Tav: It helps. I think we need to look at other poss ways the
desc relationships.
BlackCatkins: Have we thought of ways to do smoothe curves.
shepazooOOoo: We're avoiding for level one.
Tav: I'v thought of an r value for a simple curve.
shepazooOOoo: We'd like some way to easily select one or
another network routing algo and apply that and as those bubble
up to people using them a lot we can put them in a browser
Tav: You could overrite a script
fantasai: Why not bezier curves instead of arcs?
BlackCatkins: I think you can do a lot to offer a swap. You
would adjust your points.
Tav: It's hard to control the curves.
BlackCatkins: If you're script generated it's hard. You have to
have tons of points.
Tav: The script engine can turn off the simple lines.
BlackCatkins: So yu can overlay your own path.
... I'm fine with that.
shepazooOOoo: If someone has abetter way of doing this, I wish
they would tell us.
Tav: Good feedback.
shans_: Thanks eveyone!
Summary of Action Items
[End of minutes]
__________________________________________________________
Minutes formatted by David Booth's [12]scribe.perl version
1.138 ([13]CVS log)
$Date: 2014-10-31 01:08:02 $
__________________________________________________________
[12] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm
[13] http://dev.w3.org/cvsweb/2002/scribe/
Scribe.perl diagnostic output
[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.138 of Date: 2013-04-25 13:59:11
Check for newer version at [14]http://dev.w3.org/cvsweb/~checkout~/2002/
scribe/
[14] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/
Guessing input format: RRSAgent_Text_Format (score 1.00)
Succeeded: s/not text/now text/
Succeeded: s/There's might be more than one option for adjusting the tex
t./There might be more than one option for adjusting the text: changing
the letter spacing, or changing the font-size./
Succeeded: s/changing the font size/changing the font size, switching to
expanded or compressed font, kashida elongation for Arabic, substitutio
n of swash glyphs in other scripts/
Succeeded: s/easy way to do that/easy way to do vertical centering/
Succeeded: s/-center/:center/
Succeeded: s/content breaks/content with hard breaks/
Succeeded: s/is/is for/
Succeeded: s/a different/at a different/
Succeeded: s/invision/envision/
Succeeded: s/ideats/IDENTs/
Succeeded: s/archs/arcs/
No ScribeNick specified. Guessing ScribeNick: dael_
Inferring Scribes: dael_
WARNING: No "Present: ... " found!
Possibly Present: BlackCatkins ChrisL Tav astearns bradk dbaron dino ed
fantasai krit plinss shans_ shepazooOOoo smailus_
You can indicate people for the Present list like this:
<dbooth> Present: dbooth jonathan mary
<dbooth> Present+ amy
WARNING: No meeting title found!
You should specify the meeting title like this:
<dbooth> Meeting: Weekly Baking Club Meeting
WARNING: No meeting chair found!
You should specify the meeting chair like this:
<dbooth> Chair: dbooth
Got date from IRC log name: 31 Oct 2014
Guessing minutes URL: [15]http://www.w3.org/2014/10/31-fx-minutes.html
People with action items:
[15] http://www.w3.org/2014/10/31-fx-minutes.html
WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.
[End of [16]scribe.perl diagnostic output]
[16] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm
--
Erik Dahlstrom, Web Technology Developer, Opera Software
Co-Chair, W3C SVG Working Group
Received on Friday, 31 October 2014 01:12:28 UTC