W3C

- DRAFT -

Web Fonts Working Group Teleconference

09 Jan 2019

Attendees

Present
chris, Vlad, jfkthame, jpamental, J_Hudson, sergeym, myles, Garret, Chris_Chapman, Garret_Rieger, Jason_Pamental, Jonathan_Kew, John_Hudson, Ken_Lunde, Myles_Maxfield, Ned_Holbrook
Regrets
Chair
Vlad
Scribe
chris

Contents


<scribe> scribenick: chris

vlad: welcomes everyone
... first call of newly rechartered webfonts working group

(round of introductions)

<jpamental> small correction on my name: Jason Pamental (no r!)

<jpamental> no worries Chris!

Vlad: (discussion on geographical location of current participants)

J_Hudson: would prefer a later time, like 9am Pacific

myles: 9am conflicts with CSS on Weds, so needs another day

jfkthame: 9am Pacific would be 5pm so okay for me

Ned: Unicode meeting on Tuesdays

(Thursday works for most people, John slightly doubtful)

<jpamental> 9am Pacific/12pm Eastern/5pm UK Thursday

Vlad: that makes it even more inconvienent for any Japanese participants. Alternative is 2pm Eastern which is 7am Japan

jfkthame: would be 10pm for me, would join sometimes

J_Hudson: we don't have any current Japanese participation though

Ned: lets reconsider if that changes. I have afternoon Thursday meetings

Vlad: OK so Thursday, 9am Pacific/12pm Eastern/5pm UK, weekly

I will set up the new call

(agreement)

charter review

https://www.w3.org/Fonts/WG/webfonts-2018.html

Vlad: any questions?

(none heard)

Vlad: (explains royalty free patent commitments)

recap after hiatus

Vlad: Google reported on work, Garret could you summarize?

<Garret> http://fonts.gstatic.com/experimental/incxfer_demo

Garret: we send the server the set of corepoints we need and we already have. then makes two subsets, existing and desired, plus a binary diff using brotli patchmode, patch is deployed back to client
... link above shows various options, static unicode-range subsets, vs. WOFF2 of specific new segments, vs. incremental transfer, vs. sending exactly what is needed

Vlad: so option d is the same as dynamic subsetting

Garret: yes. Its larger and breaks OT features
... uses harfbuzz subsetting on backend. New in harfbuzz, super fast rewrite. Essential for this approach. less than 1ms to subset

Vlad: on GitHub?

Garret: yes, CFF and working on GSUB/GPOS

J_Hudson: same as behdad did at typo labs?

Garret: yes

jpamental: works on variable fonts?

Garret: not yet but in progress

Christopher_C: Adobe contributed CFF2 support to the subsetter, needs other tabes to be supported too

Garret: not yet started TT variable support

<Garret> https://github.com/harfbuzz/harfbuzz

jfkthame: so code is in harfbuzz, is there code that reassembes the font?

Garret: currently using Brotli shared patching mode

myles: compiled for wasm?

Garret: coud do, if patching on client

Vlad: would this be an update n Brotli library?

Garret: yes

<Christopher_C> This is the PR adding CFF/CFF2 support I mentioned that Ariza-san added to HarfBuzz / Faster Horse:

<Christopher_C> https://github.com/harfbuzz/harfbuzz/pull/1113

chris: possible privacy concern on sending range of existing codepoints

??: glyphids can change?

Garret: yes, and not desirable

Vlad: recomputing subset, change of glyphids will be consistent with how they change in any other table like layout.

Garret: still produces a valid font. But maybe reduce delta if they don't change

Vlad: would also require keeping a much larger loca table
... patch will notb break anything, tables will be reserved

myles: glyphids are an impl detail, are not exposed web

Vlad: like the patch idea

jfkthame: invalidates cacheing of shaped text data

Garret: yes

chris: think you would re-render any text.

jfkthame: could avoid it if glyphids are not changed

jpamental: or any JS that renders the text

Vlad: certainly something to consider

jpamental: ok if it changes between page loads, but does affect changes on a given page
... has been interest in using a font (like Google fonts, so cached resource) on two different pages

Garret: aiming at cross domain cachability, we want to preserve that

Vlad: no assumption of resource identity over multiple sessions

myles: intereted in this vs video streaming, fetching as needed with byte ranges

sergeym: this can be done but it is not a smart way, download all of GPOS and GSB each time. Avoids small smart subsets

myles: so that woud require a new file format?

sergeym: if you prohibit etwork access during layout you may eed to download huge chunks in advance

myles: browsers already download fonts on demand

sergeym: consider kering pairs, not known wat you need until you do layout. can't interrupt that to get new data, needs to be asynchronous, so download all GPOS before shaping

myles: layout is when you find what chars you need

sergeym: no, that is during font matching step
... by the time you get to shaping the font is already there

myles: harfbuzz approach also has to solve this, right?

sergeym: yes

J_Hudson: so subsetting will subset GSUB and GPOS like it subsets all the other tables

Garret: yes

chris: does this need knowledge of character combinations?

Garret: no

Vlad: superset

Garret: we call it GSUB closure

Vlad: myles did that answer your question?

myles: not really, lets take it offline

Vlad: if there is a 1:1 map of charater you know to glyph id you don't, you don't know ahead of time so to make shaping decisions you need to download everything before shaping

myles: yes, that is clear
... if there is a way to sort ata so common subsets are together

Vlad: we are chartered to consider and compare various solutions
... we have time, an extended charter period
... very useful initial discussion

chris: please keep discussion in github issues if possible

<myles> can someone post a link to the github repository?

<myles> some quick searching doesn't find it

jpamental: biggest benefit is CJK but lets not underestimate perf benefit for Western sitses too

KenLunde_Adobe: agreed, we implemented for CJKV butwe found it helps in smaller Western fonts too

myles: numbers?

KenLunde_Adobe: will ask

jpamental: good to have umbers to prove the benefit, and help better typography over engineering objections

Vlad: can you ask Persa her experiences with dynamic segmentation work for Adobe?

KenLunde_Adobe: yes

Vlad: also good to share experiences of things that didn't work,and why

(adjourned)

Summary of Action Items

Summary of Resolutions

[End of minutes]

Minutes manually created (not a transcript), formatted by David Booth's scribe.perl version 1.154 (CVS log)
$Date: 2019/01/09 16:02:26 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.154  of Date: 2018/09/25 16:35:56  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: Irssi_ISO8601_Log_Text_Format (score 1.00)

Succeeded: s/Parmen/Pamen/
Succeeded: s/changed/not changed/
Present: chris Vlad jfkthame jpamental J_Hudson sergeym myles Garret Chris_Chapman Garret_Rieger Jason_Pamental Jonathan_Kew John_Hudson Ken_Lunde Myles_Maxfield Ned_Holbrook
Found ScribeNick: chris
Inferring Scribes: chris
Found Date: 09 Jan 2019
People with action items: 

WARNING: IRC log location not specified!  (You can ignore this 
warning if you do not want the generated minutes to contain 
a link to the original IRC log.)


[End of scribe.perl diagnostic output]