- From: Dael Jackson <[email protected]>
- Date: Wed, 12 Aug 2015 15:38:10 -0400
- To: [email protected]
Fonts
-----
- It was clarified that the 'system' keyword will be in Fonts 4.
- jdaggett will work with TabAtkins and fantasai to put Fonts 3
into bikeshed working through the issues that jdaggett has had
in the past
- The proposal from Myles regarding introducing small-caps into
font-synthesis was discussed.
- There was concern that the use case was just theoretical,
not actual, though dauwhe said that he has to make sure
there is no use of synthetic small-caps in his work.
- Several members argued that they believed there needed to be
a fallback for when small-caps isn't available.
- RESOLVED: support small-caps in font-synthesis in Fonts 4
Specifying how keyframes interact
---------------------------------
- This topic will wait until the F2F in Paris to make sure that
Mozilla is okay with the change.
Unprefixing min/max-content
---------------------------
- RESOLVED: unprefix min/max-content
- gregwhitworth will work on building out a test suite.
Ruby Issues
-----------
- This discussion will also wait until the F2F.
max-content Contribution Not Defined for Flex Items
---------------------------------------------------
- Fantasai's proposal needs review, especially from TabAtkins and
dholbert, so it will also wait until the F2F.
===== FULL MINUTES BELOW ======
Present:
Tab Atkins
Bert Bos
Adenilson Cavalcanti
Tantek Çelik
Dave Cramer
Alex Critchfield
John Daggett
Elika Etemad
Simon Fraser
Tony Graham
Dael Jackson
Brad Kemper
Chris Lilley
Peter Linss
Myles C. Maxfield
Anton Prowse
Simon Sapin
Alan Stearns
Lea Verou
Greg Whitworth
Regrets:
Rossen Atanassov
David Baron
Daniel Glazman
Mike Miller
Edward O'Connor
Florian Rivoal
scribe: dael
Fonts
=====
bikeshedding Fonts 3
--------------------
plinss: Let's get started.
plinss: Does anyone have anything to add? I saw your note jdaggett.
plinss: Anything else?
jdaggett: On last week's call there was a discussion about the
system keyword and there was a resolution to accept that.
It wasn't clear to me from the minutes if that was
intended for 3 or 4.
jdaggett: It seemed to make more sense for me to be 4.
ChrisL: My recollection was for 4.
plinss: Mine as well.
jdaggett: That's fine.
jdaggett: There was also discussion of...There seemed to be a
discussion about putting the CSS Fonts 3 into bikeshed
and it wasn't clear how it got onto that, but it sounds
like there's a side issue where people are interested in
having the metadata associated with that's defined in
the fonts spec.
TabAtkins: Yeah.
jdaggett: I sent out a mail with a bunch of details on that. I
guess my only concern there is there were a lot of
troubles with Bert's processor dealing with specs that
have several descriptors with the same name as
properties. I'm a bit concerned about the risk of
introducing screwed up links, but I'm assuming TabAtkins
and I can figure this out. That was one concern I did
have.
<ChrisL> Tab, does bikeshed correctly separate descriptors from
properties?
* fantasai is in favor of resolving all of jdaggett's concerns wrt
processing
jdaggett: If there's no other comment, I'll go ahead and try and
do this with TabAtkins and fantasai and if there's an
issue I'll comeback.
ChrisL: I think the context was people wanted to put stuff in
Fonts 4 and TabAtkins had most of Fonts 3 bikeshedded and
we went on to think we should bikeshed it, but I don't
think we understood the complexity on the call.
jdaggett: Yeah. We'll try and work out those.
small-caps
----------
jdaggett: Do we want to talk about small-caps here or on the
mailing list?
ChrisL: I'd prefer here.
<jdaggett> https://lists.w3.org/Archives/Public/www-style/2015Jul/0463.html
<fantasai> https://drafts.csswg.org/css-fonts-3/#font-synthesis-prop
<ChrisL> http://www.w3.org/mid/[email protected]
jdaggett: This is Myles's issue.
myles: There are certain properties that browsers can synthesize,
like synthetic bold. If the font itself doesn't support it
the browser can do a hack. There's font-synthesis that says
don't do the hack.
myles: The proposal is to add a value for small-caps so the
behavior would be if I spec font variant small-caps and the
font doesn't support it, don't do it.
jdaggett: What was the motivation for this? Theoretical?
myles: Theoretical, yes. I'm working on supporting true small-caps
in WebKit since right now we always fake it and this seemed
like a reasonable thing.
<ChrisL> YES! to proper smallcaps in WebKit
jdaggett: My take is, synthetic bold and italics-we're not
synthesizing a property as the UA is synthesizing an
extra font. It's something browsers have always done and
it tends to trip-up authors. They might include a web
font and forgot to put in font-weight bold or whatever.
They get tripped up. I'm not sure I quite see here what
an author would to wrong to get small-caps or not.
jdaggett: If they're using a font that doesn't have small-caps
that's not a fault of an author. I see where you're
coming from with wanting an out, but I'm not sure I see
and extra use case.
astearns: Font synthesis isn't solving using bold when it's
missing, it's giving an author who cares about not
synthesizing a way to say don't do that. I'm not sure
about having a property that is opposed to having it
instead of doing synthesis for missing glyphs.
jdaggett: On a theoretical level yes, but the thing about
synthetic bold/italics-they're ubiquitous and we
couldn't say they're off by default. When you say small-
caps you're taking something that's not the default and
you want them.
astearns: It's not really opt-in. When you're authoring you can't
be sure the small-caps you're trying to use with the
font will be present. When font fallback happens you
might have a font without small-caps and it looks
terrible.
myles: The word terrible is apt. There's a distinct visual
difference between fake and true small-caps.
jdaggett: That goes without saying. I'm not clear on the
motivation why an author would...what's the problem an
author has.
astearns: Progressive enhancement. I want small-caps if and only
if the font I want to use small-caps with is present.
jdaggett: So astearns you think this is necessary?
astearns: I think more than turning off fake bold and italic. They
other...you need the smearing or slanting to show a
semantic difference. Small-caps I think would have a
better fallback to real capital glyphs.
plinss: I think it's interesting.
leaverou: I wanted to ask...if a small-caps variant isn't
available I think it's reasonable for the author to want
lower or upper as a fallback. Right now the only way I
can think of is to use text-transform. How do they say
if small-caps isn't available I want upper-case. How can
authors do this?
myles: All I can think of is @supports.
leaverou: That would test if it's present, not if there's a
variant.
<ChrisL> agree we need to look at easy fallbacks here
jdaggett: Most of the properties that deal with font features...it
goes with the assumption that you know the font you're
using. A lot of the fonts that are out there won't
support all the features. If you turn on annotations,
you may not hit a font with annotations so you get
unannotated.
leaverou: If you're depending on the user system you don't know.
jdaggett: That's my point. We don't provide a way of sniffing if
fonts have them.
leaverou: So you're saying authors shouldn't have that level of
control and it doesn't matter?
jdaggett: Authors should use these features with webfonts. Then
that's part of the page design. I'm using this feature
and I know it's there.
<tantek> you don't know that a webfont is there because it might
not load right? like JS?
<tantek> that's a key progressive enhancement case
jdaggett: We had a lot of discussions when working on font
features for CSS 3 Fonts. One of the keys is it's not
easy in terms of implementation to provide fallback.
leaverou: But for font-weight there's a whole algorithm.
jdaggett: That's a different thing.
jdaggett: A lot of these features are cumulative. You turn on A,
B, and C. Whether all of those are supported for all
glyphs will vary by character. Doing something
intelligent here gets very tricky.
leaverou: In most real world designs with small-caps the designers
would intend for uppercase not lowercase if small-caps
aren't available.
jdaggett: We don't have a mechanism for that.
myles: It seems like a conceptually different issue.
jdaggett: Definitely.
fantasai: I think using small-caps with system fonts is reasonable.
The same reasons that apply to turn off synthetic
italics or bold also apply for small-caps. There's
nothing different in the reasoning.
jdaggett: Font features and they way we've supported them they
have a definite fallback. In synthetic faces you're
running the same algorithm with faces that are synthetic.
It's apples and oranges
fantasai: You're making the apples and oranges because the
underlying technical implications.
fantasai: If we look back in time small-caps was a separate font
face like bold and italics. They were all different
fonts. If we look to the future there's potential for a
font face to have embedded the necessary information for
bold variants. From a user perspective it's still a
variation on that one font.
<astearns> +1 to fantasai's point. I don't see the distinction
myles: I agree with fantasai
jdaggett: I think there's a real distinction and I don't like the
idea of taking something that has special fallback
behavior and then creating opt-outs. Do we do the same
thing with super and subscript fonts? Would we add those?
ChrisL: Over time I would like to yes.
jdaggett: It's over-designed.
ChrisL: Could you justify that?
jdaggett: You're adding extra property values that are giving you
an opt-out for an opt-in feature. I'm applying
superscript.
ChrisL: So to opt-out you just don't ask. I can see that.
jdaggett: I see what people are saying for the theoretics, but
when I think about 'does someone need this', I think
we're starting to get to the point where we're adding
things with little value
fantasai: Why is it bold and italic are and small-caps isn't?
jdaggett: If the font has it then it's available.
astearns: You're eliding the question of fallback fonts where you
don't know which font will be used.
jdaggett: Historically synthetic bold and italic are special and
have caused all kinds of problems. The basis for the
font synthesis these are specific features where you can
opt out.
fantasai: I don't see any reason why small-caps should be any
different. All the reasoning that applied to one does to
the other.
<leaverou> +1 to fantasai from me too
jdaggett: Font weight and style are font selection property. Font
variants you're specifying font features. Within this
face I want to use these if they're available. We did
for specific reasons...
<leaverou> "if the font has it, then it is available" applies to
small-caps as well, no?
<fantasai> leaverou, wrt fallback stuf... I guess you could turn
font-variant-caps into a list
<ChrisL> petite caps if available, otherwise small-caps, otherwise
uppercase
astearns: Another way of getting to a solution would be to add
more font feature values. I don't think this is the way
to go. You have small-caps if available, this kind of
capitals if it's available. Have a way to say use small-
caps if available but I want all caps if small-caps
isn't available.
jdaggett: As originally specified, I said we should make this mean
it just uses the glyphs if they're there but there was
push back because of compat we have this fallback
behavior.
dauwhe: Synthetic small-caps are an abomination in my world.
dauwhe: I have to do everything I can to prevent them on my
projects.
<dauwhe> I could lose my job for using synthesized small-caps in a
book :)
<bradk> How about 'font-transform: small-caps' that uses
non-synthesized small-caps if available, even if there is
no @font?
plinss: I'm hearing a lot of people in favor of controlling if we
have synthetic small-caps.
jdaggett: So am I. I can live with it.
<tantek> +1 on author control of whether or not they get synthetic
small-caps
Bert: A question for dauwhe. I can understand avoiding synthetic
small-caps, but what do you do instead?
dauwhe: In that case you use actual caps perhaps.
jdaggett: That's difficult to do. There's no way to @supports this
font for this feature.
dauwhe: This is my use case. It's how I'd make decisions. If the
tech can support that is a different thing.
fantasai: You'd handle that...when you want the fallback to be
full caps that's what should have been in the source.
Your source code should have it in capital letters and
you use all small-caps to lowercase that and it will
fallback to nothing which is caps letters.
dauwhe: That's what we do. We'll text-transform lowercase.
fantasai: What's the fallback if you have small-caps but not all
of them. I presume we text transform.
jdaggett: That's part of the fallback.
fantasai: As long as the UA supports the all small-caps value...
there are cases where you're want it to fallback to
lowercase like if you have a header.
fantasai: So you have all the capabilities you've just requested.
You want to be able to turn off the synthetic.
leaverou: So is that what you want in the markup?
fantasai: Or a text transform.
leaverou: That would interact with small-caps.
fantasai: No, if the source...sometimes the capitalization is
because semantics. That would be in the source. If you
have a heading you can use the transform and font-
variant small-caps and if it doesn't have that it
fallsback. All the behavior is available, we just need
to turn off the synthetic.
<astearns> https://drafts.csswg.org/css-fonts/#all-small-caps
leaverou: ooookay....
plinss: I'm not sure if what you're saying gets you want you want.
You're not allowing a real small-caps situation.
jdaggett: There is an all small-caps feature that makes both upper
and lower to small-caps
plinss: But if you text transform you're using the mixed case.
fantasai: No...if the presentation you want is all capitals you
use text transform. If you want it to be small-caps and
fallback you use text-transform and then fallback. If
you want the fallback as mixed, we need the font
synthesis.
jdaggett: I think we should move on.
<tantek> I'd like to hear designer opinions of what would be good
fallback in the absence of "real" small-caps.
<tantek> Rather than hypothesizing by all of us other smart people
;)
* liam [can't call in, at a conference] would prefer a way to
select a font that had genuine small-caps in the first
place, if there's one available
* bradk agrees with Liam about selecting real small-caps, and have
a fallback if not available.
plinss: I'm hearing a lot of people in favor of adding control and
jdaggett, you said you can live with it?
jdaggett: Yep.
jdaggett: I think it should go into CSS 4
myles: Fine with me
RESOLVED: support small-caps in font-synthesis in Fonts 4
<fantasai> Actually, there's one case you can't get just with the
font-synthesis and text-transform: mixed-case small-
caps falling back to full caps
Specifying how keyframes interact
=================================
TabAtkins: dino said it was fine so I'd like to have a resolution
to put this in the animations draft, one of them.
ChrisL: You mean which version?
TabAtkins: Yeah.
TabAtkins: Since this is a basic resolution of a core feature it
should go into the first version of animations we have
plinss: Can you sum up in a sentence or two?
TabAtkins: It is a rigorous description of how a keyframes rule is
broken down and how different keyframe rules with the
same selector interact. This isn't well described now
and though I thought it was obvious, it wasn't. I wrote
an explicit set of how to break down keyframes rules.
It matches the web animations model
fantasai: Have you heard back from any moz devs?
TabAtkins: I have not. They were tasked with looking and
responding last week but no one has done so.
fantasai: I think dbaron is on vacation.
jdaggett: He's in meetings.
fantasai: We might want to wait for him. I'd like to hear back
from Mozilla.
TabAtkins: I'm not in a rush, I just don't want to lose track of
this.
plinss: So we loop back when we have dbaron.
* fantasai notes that this moves the topic to the F2F
* astearns fantasai: just added it to the ftf agenda
Unprefixing min/max-content
===========================
TabAtkins: fantasai I think you said we have already resolved and
need to get it done?
fantasai: I vaguely recall it, but I couldn't pull up the
information. Min and max we're 100% clear. 'fill' we
want to check in on.
TabAtkins: So for unprefixing it would be re-resolve here and put
a note into the sizing spec that implementors are
encouraged to use these unprefixed.
<gregwhitworth> do we have a test suite for these?
fantasai: That sounds good.
TabAtkins: Anyone object?
gregwhitworth: Do we have a test suite? It would be good to make
sure we got all the testing covered.
fantasai: Part of the reason the spec isn't done is we haven't
worked out the edge cases. We can do a basic test suite,
but a full test suite would be all the pieces.
gregwhitworth: So you don't have any reservations?
fantasai: Implementations have these pieces. As long as they have
the pieces that are consistent like if you put a float
in a 0 or a really big float. I guess we could put a
bunch of random content with a JS randomizer and say if
they're all identical we win.
gregwhitworth: I just wanted to bring it up. I don't think this
has to do with unprefixing, more an interop concern.
fantasai: You have a good point. We can pull in tests, like I'm
sure Mozilla has tests.
fantasai: The question is who is going to do that.
plinss: I'd like to see some tests. I don't see any linked to
sizing.
gregwhitworth: I'm supposed to be an editor so I can track down
some tests since I brought it up.
gregwhitworth: I'll ping dbaron and try to get them checked in. I
doubt before the F2F but I'll take care of that.
* ChrisL cheers for Greg
TabAtkins: If you do notice any holes, they should behave like
floats. So it's easy to do tests by doing a float.
fantasai: Float tests should be easy to write.
gregwhitworth: Okay, cool.
plinss: Let's resolve to unprefix min/max content.
RESOLVED: unprefix min/max-content
fantasai: Even if the behavior isn't defined yet or it's wrong, in
your implementation if it's equivalent to floats, it
should pass.
plinss: That's for getting tests gregwhitworth
Ruby Issues
===========
plinss: Who wants to talk about these?
plinss: Aaaaaaanyone?
myles: Perhaps we should defer.
plinss: I think so. To the F2F?
max-content Contribution Not Defined for Flex Items
===================================================
plinss: fantasai I think this was yours
TabAtkins: Has fantasai gone silent?
* fantasai is here, just pulling up the mail
<plinss> https://lists.w3.org/Archives/Public/www-style/2015Jul/0429.html
fantasai: This was me going through the case of max-content and
how it's defined in flex. I think the definition for
flex items is not quite correct, but I'd like TabAtkins
and dholbert to check it. I'm not sure it's useful to
talk about here until that happens.
<gregwhitworth> Can you please review this too:
https://lists.w3.org/Archives/Public/www-style/2015Aug/0058.html
plinss: Okay, do we want to action them to look?
gregwhitworth: I think this is a good one for F2F. I did work
closely with our developers for flexbox and I gave
the feedback. I think technically it would cover
what we expect. But at the same time we want to
wait for feedback from other people. I wanted to
make sure nothing was missed.
gregwhitworth: It ties in with Christian's e-mail....it hinges on
this.
<astearns> added ruby and max-content in flex to ftf agenda
fantasai: We'll just do a flexbox workshop in Paris.
<fantasai> (A technical one, not an editorial one)
<tantek> flexboxworkshop++
gregwhitworth: I agree. That would be great.
plinss: Okay. Defer to the F2F.
<fantasai> gregwhitworth, pick a night, we'll kidnap Tab
<gregwhitworth> fantasai: sounds good
<plinss> https://wiki.csswg.org/planning/paris-2015#proposed-agenda-topics
plinss: We have 2 weeks to the F2F. Please add topics and update
the wiki as you see fit. That's all I have for this week.
plinss: Alright. Thanks everyone and we'll talk next week.
Received on Wednesday, 12 August 2015 19:39:08 UTC