31 Oct 2014

See also: IRC log




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> 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): https://www.w3.org/Graphics/SVG/WG/wiki/File:SVG_2_ProposalsTechnical_and_Engineering_Graphics.pdf on document page 8

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> 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> http://tavmjong.free.fr/SVG/CONNECTORS/index.xhtml


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 scribe.perl version 1.138 (CVS log)
$Date: 2014-10-31 01:08:02 $

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 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 text./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, substitution 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: http://www.w3.org/2014/10/31-fx-minutes.html
People with action items: 

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.

[End of scribe.perl diagnostic output]